![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.02.2014
Сообщений: 26
|
![]()
Доброго всем дня. Имеется компонент который унаследован от класса TComponent.
Раньше установка фокуса в него не требовалась. Но теперь понадобилось. Подскажите пожалуйста как можно прикрутить к компоненту возможность установки фокуса. Среда Delphi 7. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Например, у TControl есть метод SetFocus,
а вот что делать с наследником TComponent - не подскажу. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.02.2014
Сообщений: 26
|
![]()
Возможно я не прав, но мне кажется, что надо сделать по аналогии с TWinControl.
добавить к компоненту - Handle: HWnd; - procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS; - procedure WMKillFocus(var Message: TWMSetFocus); message WM_KILLFOCUS; - procedure CreateHandle; - procedure CreateParams(var Params: TCreateParams); и еще -надцать методов. Но вот не знаю правильно ли это будет |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
TComponent -> TControl -> TWinControl
И SetFocus впервые появляются в TWinControl. Там бы и смотрел сырцы Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
![]() |
![]() |
![]() |
#5 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я не очень компетентен в этом, но лично я не вижу принципиальных ошибок в данном подходе, на мой взгляд - да, так правильно.
сейчас знающие люди подтянутся, выскажут своё мнение. Цитата:
Зачем придумывать велосипед, когда можно его просто взять и поехать?!! ![]() |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 26.02.2014
Сообщений: 26
|
![]()
Про велосипед я тоже согласен
![]() |
![]() |
![]() |
![]() |
#7 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Ну покажи компонент-то, ёмаё!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#8 |
instagram
Участник клуба
Регистрация: 24.05.2008
Сообщений: 1,451
|
![]()
Perform-м можно). Или надо в событии чтоб было (True/False)?
Код:
Код:
Код:
implementation Код:
Код:
Код:
Последний раз редактировалось beegl; 02.06.2016 в 23:59. Причина: add text |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
свой компонент в Delphi seattle | BLACK_RAIN | Компоненты Delphi | 2 | 03.05.2016 10:04 |
Установка таймера обратного отсчета на свой блог | dasingoz | WordPress и другие CMS | 0 | 19.08.2015 00:57 |
Установка фокуса в dblookupcombobox | ГренЛа | БД в Delphi | 1 | 12.06.2012 09:18 |
свой текстовый компонент | xrob | Компоненты Delphi | 2 | 27.02.2011 01:24 |
Как создать свой компонент? | Д'якон | Компоненты Delphi | 1 | 21.05.2008 16:37 |