![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 18.02.2009
Сообщений: 2
|
![]()
Нужно создать графический фокус. Если нажато на компоненте то компонент рисуется соответствующим цветом, а если нажатие происходить на другом каком-то компоненте нужно отрисовать компонент другими цветами.
Да можно написать для формы, но тога придется для каждого компонента писать, а если компонентов может бить разное число. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,189
|
![]()
А так тебе придеться устанавливать ссылки в своем компоненте на другие. Принципе можешь воспользовать поиском всех контролов на форме, а там проверяй что за они и делай что хочешь.
|
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 11.01.2009
Сообщений: 1,917
|
![]() Цитата:
"Заряженному танку в дуло не смотрят" @Dekmer in WoT
|
|
![]() |
![]() |
![]() |
#4 |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
![]()
Единственный и самый верный помощник в нелегком деле написания своих компонентов - книга Р.Конопки "Создание оригинальных компонент в среде DELPHI". Скачайте ее себе и многое станет понятным.
|
![]() |
![]() |
![]() |
#5 | |
Новичок
Джуниор
Регистрация: 18.02.2009
Сообщений: 2
|
![]() Цитата:
Добавил события: FonEnter : TNotifyEvent; FonExit : TNotifyEvent; procedure WMSetFocus(var Message: TWMSetFocus); message WM_SETFOCUS; procedure WMKillFocus(var Message: TWMKillFocus); message WM_KILLFOCUS; procedure WMLButtonUp(var Msg: TMsg);message WM_LBUTTONUP; property OnEnter : TNotifyEvent read FonEnter write FonEnter; property OnExit : TNotifyEvent read FonExit write FonExit; procedure TShop.WMSetFocus(var Message: TWMSetFocus); begin inherited; Invalidate; If Assigned(FonEnter) then FonEnter(Self); Focus := True; end; procedure TShop.WMKillFocus(var Message: TWMKillFocus); begin inherited; Invalidate; If Assigned(FonExit) then FonExit(Self); Focus := False; end; procedure TShop.WMLButtonUp(var Msg: TMsg); begin SetFocus; inherited; Paint; end; Возможно есть другие варианты, не судите строго. Работает. Спасибо всем! |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите с написанием бат файла | Aivar | Помощь студентам | 2 | 24.09.2008 22:58 |
Помогите с написанием! | Aboltus | Общие вопросы Delphi | 1 | 30.07.2008 15:16 |
Помогите с написанием процедуры... | Bkmz66 | Помощь студентам | 1 | 15.05.2008 13:27 |