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

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

Меню на второй форме - потеря фокуса главного меню [Lazarus, KOLCE, WindowsCE]


blackman2003 ©   (2008-11-03 13:35:00) 

Ситуация такая: есть две формы
1я - основая, несколько элементов и MainMenu
2я - вызывается как модальная, Visible=false и тоже имеет свое MainMenu

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

Собственно вопрос: что это такое и как боротся? Никто не сталкивался?


Vladimir Kladov   (2008-11-04 18:10:00) [1]

Посмотрите на TMenu.RedrawFormMenuBar, функцию API DrawMenuBar, может поможет.


blackman2003   (2008-11-04 17:45:00) [2]

Используется. Именно так все и делается.
При создании-уничтожении динамическом проблем действительно нет. Но вот при просто прятании меню модальной формы все еще перекрывает меню основной.


Yury Sidorov   (2008-11-04 17:02:00) [3]

А TKOLApplet используется? Если нет, то нужно использовать.
Все формы кроме главной должны быть невидимы при запуске программы. Все формы нужно вызывать как модальные и потом вручную прятять.

Я, например, все модальные формы создаю динамически перед показом и уничтожаю после показа. В этом случае проблем точно никаких нет.


blackman2003   (2008-11-03 14:54:00) [4]

Проблему временно решил динамическим созданием второй и последующих форм.

Собственно тут http://www.freepascal.ru/forum/viewtopic.php?f=6&t=2810&st=0&sk=t&sd=a&start=15одна из проблем аналогична, но ответ так и не найден.


Наверх

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