![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Фокус в ComCtrl 6.0 |
|
Фокус в ComCtrl 6.0
|
![]() Ветеран Сообщения: 1180 |
Здравствуйте, товарищи форумщики. Я пишу свою гуишную библиотеку на C++ а-ля Swing. Встала вот такая проблема: при использовании стиля XP (манифестом) иногда не рисуется фокус контролов. Если манифест не подключать (5.0) - всё нормально. Если в результате действий мышкой фокус (6.0) появляется (прорисовывается хоть один раз), то дальше до закрытия окна он прорисовывается нормально. При открытии следующего (popup) окна фокус (уже в нём, не влияя на предыдущее) может пропасть. Я так понял, что проблема возникает при первом появлении окна. Может быть винда как-то помечает контрол, который по её мнению должен иметь фокус, а я ставлю SetFocus на другой?
Вот железный (эмпирический) способ вызвать фокус: если есть ListView хоть с одним элементом, нужно встать на него и понажимать клавиши вверх-вниз. Фокус появляется. |
|
Отправлено: 18:56, 16-05-2006 |
![]() Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Короче, эмпирическим путём выяснил, что фокус ставится в Common Control 6.0 при нажатии на клавиш управления контролов (функцией IsDialogMessage). Т.е. если в заново созданном диалоге не было задействовано управление с клавиатуры, то фокус и не отрисовывается. То же самое творится и со стандартными виндозными диалогами.
|
Отправлено: 15:36, 25-12-2006 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Самопроизвольно "слетает" фокус окон. | hellt | Лечение систем от вредоносных программ | 4 | 15-06-2008 22:19 | |
Delphi - Win32 API | Delphi | ФОКУС-раствориться в воздухе. | Mavlyudov | Программирование и базы данных | 9 | 18-11-2005 08:59 |
|