Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.05 c
4-1135363510
guitarist
2005-12-23 21:45
2006.04.02
Модем. Набор номера


9-1127285948
Kerk
2005-09-21 10:59
2006.04.02
Игра "Точки"


3-1139314557
Trap
2006-02-07 15:15
2006.04.02
real-time обработка данных


2-1142859647
Der Nechk@ssoff
2006-03-20 16:00
2006.04.02
Цвет формы


2-1142572371
Rubey
2006-03-17 08:12
2006.04.02
Линии в CANVAS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский