pva
16-05-2006, 18:56
Здравствуйте, товарищи форумщики. Я пишу свою гуишную библиотеку на C++ а-ля Swing. Встала вот такая проблема: при использовании стиля XP (манифестом) иногда не рисуется фокус контролов. Если манифест не подключать (5.0) - всё нормально. Если в результате действий мышкой фокус (6.0) появляется (прорисовывается хоть один раз), то дальше до закрытия окна он прорисовывается нормально. При открытии следующего (popup) окна фокус (уже в нём, не влияя на предыдущее) может пропасть. Я так понял, что проблема возникает при первом появлении окна. Может быть винда как-то помечает контрол, который по её мнению должен иметь фокус, а я ставлю SetFocus на другой?
Вот железный (эмпирический) способ вызвать фокус: если есть ListView хоть с одним элементом, нужно встать на него и понажимать клавиши вверх-вниз. Фокус появляется.
Вот железный (эмпирический) способ вызвать фокус: если есть ListView хоть с одним элементом, нужно встать на него и понажимать клавиши вверх-вниз. Фокус появляется.