Конференция "KOL" » Меню на второй форме - потеря фокуса главного меню [Lazarus, KOLCE, WindowsCE]
 
  • blackman2003 (03.11.08 13:35) [0]
    Ситуация такая: есть две формы
    1я - основая, несколько элементов и MainMenu
    2я - вызывается как модальная, Visible=false и тоже имеет свое MainMenu

    При запуске программы под WM5, WM2003SP первая форма отображается замечательно, за исключением того, что MainMenu у нее почему-то от второй формы. Если тапнуть стилусом в любое место первой формы - меню восстанавливается. На смартфонах такой фокус естественно не проходит. Попытки стделать затычки с помощью DoSetFocus либо Focused:=true не помогают.

    Собственно вопрос: что это такое и как боротся? Никто не сталкивался?
  • blackman2003 (03.11.08 14:54) [1]
    Проблему временно решил динамическим созданием второй и последующих форм.

    Собственно тут http://www.freepascal.ru/forum/viewtopic.php?f=6&t=2810&st=0&sk=t&sd=a&start=15 одна из проблем аналогична, но ответ так и не найден.
  • Yury Sidorov (04.11.08 17:02) [2]
    А TKOLApplet используется? Если нет, то нужно использовать.
    Все формы кроме главной должны быть невидимы при запуске программы. Все формы нужно вызывать как модальные и потом вручную прятять.

    Я, например, все модальные формы создаю динамически перед показом и уничтожаю после показа. В этом случае проблем точно никаких нет.
  • blackman2003 (04.11.08 17:45) [3]
    Используется. Именно так все и делается.
    При создании-уничтожении динамическом проблем действительно нет. Но вот при просто прятании меню модальной формы все еще перекрывает меню основной.
  • Vladimir Kladov © (04.11.08 18:10) [4]
    Посмотрите на TMenu.RedrawFormMenuBar, функцию API DrawMenuBar, может поможет.
 
Конференция "KOL" » Меню на второй форме - потеря фокуса главного меню [Lazarus, KOLCE, WindowsCE]
Есть новые Нет новых   [134431   +16][b:0][p:0]