Конференция "Компоненты" » Создание компонента RunTime [D7, WinXP]
 
  • webpauk © (25.05.12 18:32) [0]
    создаю TEdit. хочу изменить расстояние ввода текста от левой границы компонента:

    procedure TEditLang.WMSPECIALCHANGED(var Message: TMessage);
    var
     R: TRect;
    begin
     R:=ClientRect;
     OffsetRect(r, 20, 0);
     Perform(EM_SETRECTNP, 0, lParam(@r));

     Invalidate;
    end;



    для зарегестрированного компонента достаточно прописать

    procedure TEditLang.Loaded;
    begin
     SendMessage(Self.Handle, WM_SPECIALCHANGED, 0, 0);
    end;



    при создании runtime Loaded не срабатывает. подскажите на какое событие подцепить изменение границы ввода
  • webpauk © (25.05.12 18:35) [1]
    по идее нужно ловить событие, когда TEditLang получает parent control
  • ADO (25.05.12 19:18) [2]
    Что по мне, так я считаю что TEdit вовсе не компонент, простой Control ...
  • DimaBr © (26.05.12 14:00) [3]
    > подскажите на какое событие подцепить изменение границы ввода
    На вот эти:
    CreateWnd
    WMSize
    WMWindowPosChanged
    CMFontChanged

 
Конференция "Компоненты" » Создание компонента RunTime [D7, WinXP]
Есть новые Нет новых   [118608   +45][b:0][p:0.001]