Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Заморочка при разработке компонента   Найти похожие ветки 

 
Loginov Dmitry ©   (2006-03-08 20:24) [0]

Проблема в том, что компонент обрабатывает сообщения в Design-Time, хотя следующий код при наведении курсора мыши на компоненте выводит сообщение об ошибке "can not focus a disabled and invisible window".

procedure TEKGFrame.WMMouseEnter(var Message: TWMMouse);
begin
  ScrollBox1.SetFocus;
end;


Как узнать, в каком режиме находится приложение - Design-Time или Run-Time? Тогда можно будет обойтись простой проверкой:
procedure TEKGFrame.WMMouseEnter(var Message: TWMMouse);
begin
 if Run-Time then ScrollBox1.SetFocus;
end;


 
Карелин Артем ©   (2006-03-08 20:31) [1]

if csDesigning in FControl.ComponentState then


 
Loginov Dmitry ©   (2006-03-08 21:34) [2]

Большое спасибо, это то что нужно!


 
Loginov Dmitry ©   (2006-03-08 21:47) [3]

Еще один вопрос: как узнать, на какой форме лежит данный компонент?
Если он находится непосредственно на форме, то Parent указывает на форму, а как быть, если компонент находится, к примеру, на TPanel?


 
Loginov Dmitry ©   (2006-03-08 23:53) [4]

Все, отвечать не нужно, сам разобрался. Рекурсия, так сказать :)
function GetMainForm(Control: TWinControl): TWinControl;
begin
 if Assigned(Control.Parent) then
   Result := GetMainForm(Control.Parent)
 else
   Result := Control;
end;



Страницы: 1 вся ветка

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1142528321
Ell
2006-03-16 19:58
2006.04.02
RichEdit замена текста


15-1141561451
Piter
2006-03-05 15:24
2006.04.02
Почему в APE выкладывают сразу альбомами?


2-1142359508
San_pancho
2006-03-14 21:05
2006.04.02
Определение длинны текста, в пикселях.


10-1115880709
Oleg_
2005-05-12 10:51
2006.04.02
интерфейс не поддерживается


15-1141377980
DelphiN!
2006-03-03 12:26
2006.04.02
Можно ли прослушать порт, если на нем уже висит другая программа