Q&A

  • 컴포넌트 속성에서 자기가 만든 폼을 띄우려면..
컴포넌트를 만들고 있는데여~ 프로퍼티를 만들어서 Object Inspector에 올렸는데여

그 프로퍼티를 클릭하면 제가 따로 만든 폼이 떠야 하거든요~ Form의 프로퍼티 Font에

에서 '...'을 클릭하면 폰트 다이어로그가 뜨듯이여~

이것을 어떻게 해야 할지 모르겠네여~~ 아시는분 도와주세요!!

그럼 좋은 하루 되세요~
1  COMMENTS
  • Profile
    고니 2003.08.05 00:22
    HintProperty폼의 유닛 파일에 아래와 같이 THintProperty 클래스를 선언한다.
    THintProperty = class(TStringProperty)  
    public    
      function GetAttributes: TPropertyAttributes; override;    
      procedure Edit; override;
    end;

    Procedure THintProperty.Edit;
    Begin  
       with THintProperty.Create(nil) do
       begin
           try
              Memo1.Lines:=TStrings(GetOrdValue);
              if ShowModal=mrOK then
                SetOrdValue(Longint(Memo1.Lines));
           finally
              Free;
           end;
       end;
    end;

    function THintProperty.GetAttributes : TPropertyAttributes;
    begin
      Result:= inherited GetAttributes + [paDialog];
    end;


    procedure Register;
    begin
      RegisterPropertyEditor(TypeInfo(string), TControl, 'Hint', THintProperty);
    end;