Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизПолучение фокуса компонентом. Найти похожие ветки
← →
Mishenka (2006-10-25 10:22) [0]Пишу компонент потомок TCustomControl. Сделал обработку события OnEnter для обработки получения фокуса. При переходе Tab"ом компонент фокус получает, а вот при клике мышкой нет. Как сделать чтоб компонент получал фокус ввода при клике мышкой как и другие компоненты, или надо обрабатывать OnMouseDown ?
← →
DVM © (2006-10-25 10:25) [1]
> или надо обрабатывать OnMouseDown ?
и так тоже можно
← →
Mishenka (2006-10-25 10:51) [2]А как сделано в стандартных компонентах?
Полез смотреть исходники ListBox"а, но что-то не могу найти как у него это реализовано...
← →
Плохиш © (2006-10-25 10:58) [3]
> Mishenka (25.10.06 10:22)
> Пишу компонент потомок TCustomControl. Сделал обработку
> события OnEnter для обработки получения фокуса.
Два предложения взаимонесвязанные. Событие OnEnter не для разработчика компонента, а для разработчика использующего компонент.
> Mishenka (25.10.06 10:51) [2]
> А как сделано в стандартных компонентах?
TWinControl.DoEnter
Находится за 2 секунды.
← →
Mishenka (2006-10-25 14:21) [4]
> Плохиш © (25.10.06 10:58) [3]
> TWinControl.DoEnter Находится за 2 секунды.
Ну вот нашёл что ты мне предлагаешь:procedure TWinControl.DoEnter;
begin
if Assigned(FOnEnter) then FOnEnter(Self);
end;
Только не понимаю, как это в данном случае может помочь.
> Два предложения взаимонесвязанные. Событие OnEnter не для
> разработчика компонента, а для разработчика использующего компонент.
Ну я просто неудачно выразился. Вот здесь я как раз и использовал метод DoEnter...
← →
Юрий Зотов © (2006-10-25 15:02) [5]> Mishenka (25.10.06 10:22)
> Как сделать чтоб компонент получал фокус ввода при клике мышкой
Насколько помню, надо заместить конструктор и там установить в ControlStyle флаг, разрешающий контролу получать сообщения мыши. Уточните по справке.
← →
DVM © (2006-10-25 15:42) [6]А у меня работало и так:
public
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
....
procedure TMyControl.MouseMove(Shift: TShiftState; X, Y: Integer) ;
begin
...
inherited MouseMove(Shift, x,y);
end;
← →
DVM © (2006-10-25 15:42) [7]т.е. сообщения мышки приходят и так
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.045 c