MdPropEdit.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit MdPropEdit;
  2. interface
  3. uses
  4.   DsgnIntf;
  5. type
  6.   TMdIntListProperty = class (TStringProperty)
  7.   public
  8.     function GetAttributes: TPropertyAttributes; override;
  9.     procedure Edit; override;
  10.   end;
  11. procedure Register;
  12. implementation
  13. uses
  14.   SysUtils, MdIlpeForm, MdTabList, Forms, Controls;
  15. function TMdIntListProperty.GetAttributes: TPropertyAttributes;
  16. begin
  17.   Result := [paDialog, paReadOnly];
  18. end;
  19. procedure TMdIntListProperty.Edit;
  20. var
  21.   PEForm: TIntListPEForm;
  22.   Tabs: TMdTabbedList;
  23.   I: Integer;
  24. begin
  25.   PEForm := TIntListPEForm.Create (Application);
  26.   try
  27.     Tabs := GetComponent (0) as TMdTabbedList;
  28.     for I := Low (TMdTabsArray) to High (TMdTabsArray) do
  29.       PEForm.Memo1.Lines.Add (IntToStr (Tabs.TabStops [I]));
  30.     if PEForm.ShowModal = mrOK then
  31.     begin
  32.       for I := Low (TMdTabsArray) to High (TMdTabsArray) do
  33.         Tabs.TabStops [I] := StrToIntDef (PEForm.Memo1.Lines [I], 0);
  34.       Designer.Modified;
  35.     end;
  36.   finally
  37.     PEForm.Free;
  38.   end;
  39. end;
  40. procedure Register;
  41. begin
  42.   RegisterPropertyEditor (TypeInfo (string),
  43.     TMdTabbedList, 'TabsString', TMdIntListProperty);
  44. end;
  45. end.