Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать предыдущий фокус [D6, Win2k]


Mars ©   (2004-11-04 15:25:00) 

Необходимо при клике на CheckBox'e
узнать, с какого контрола переходит фокус.

Кто знает, помогите.


Rem   (2004-11-04 15:34:00) [1]

Назначить OnExit для нужных контролов:


type
 TForm1 = class(TForm)
 private
   FLastControl: TControl;
   ...
 end;

procedure TForm1.OnExit(Sender: TObject);
begin
 FLastControl := TControl(Sender);
end;


Digitman   (2004-11-04 15:32:00) [2]

The WM_SETFOCUS message is sent to a window after it has gained the keyboard focus.

WM_SETFOCUS  
hwndLoseFocus = (HWND) wParam; // handle of window losing focus


Parameters

hwndLoseFocus

Value of wParam. Identifies the window that has lost the keyboard focus (may be NULL).



Return Values

An application should return zero if it processes this message.

Remarks

To display a caret, an application should call the appropriate caret functions when it receives the WM_SETFOCUS message.


Семен Сорокин   (2004-11-04 15:31:00) [3]

В OnExit для фокусных элементов поместить, OldObject := TControl(Sender);, где OldObject - переменная формы типа TControl и будет тебе счастье.


Наверх

Титульная страница Поиск, карта сайта Написать письмо