У меня есть проект MS Visual C ++, где у меня есть диалоговое окно на основе CDialog с несколькими элементами управления редактированием.Я хочу выделить элемент управления с текущим фокусом для пользователя.Я реализовал это, получив указатель на окно с текущим фокусом с помощью GetFocus () и затем получив идентификатор для сфокусированного элемента управления с помощью GetDlgCtrlID ():
CWnd * pWnd = GetFocus ();
idfocus = (pWnd-> GetDlgCtrlID ());
Затем я сравниваю это с текущим элементом управления, для которого устанавливается HBRUSH в функции-члене OnCtlColor.
Это прекрасно работаетпока я не нажму на окно другого приложения, запущенного на моем ПК.Такие как Firefox.В этот момент происходит сбой моего приложения.
Каков наилучший способ найти элемент управления, если таковой имеется, в конкретном диалоговом окне и только в этом конкретном диалоговом окне?Или может быть ограничено только тем же приложением.