Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ActionMainMenuBar и MDI
|
|||
|---|---|---|---|
|
#18+
Может кто нибудь сталкивался (и победил). Delphi 7. MDI интерфейс, меню - ActionMainMenuBar. При разворачивании(maximize) MDIChild окна на строке меню не появляются системные кнопки(_Ох). Появляются при нажатии на любой пункт меню. При закрытии, восстановлении они же не исчезают, до нажатия на любой пункт меню. Вот такой трабл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2003, 13:31 |
|
||
|
ActionMainMenuBar и MDI
|
|||
|---|---|---|---|
|
#18+
В actionMainMenuBar "системные" кнопки не являются "системными", a создаются в модуле ACTNMENUS библиотеки VCL в процедуре tCustomMainMenuBar.MDIChildMaximized добраться до нее можно через actionMainMenuBar.TrackMenu либо через сообщение PostMessage( mainform.ActionMainMenuBar.Handle, CM_ENTERMENULOOP,0,0); чтобы использовать PostMessage необходимо в uses добавить ActnMan; После 2 дневных проб определил события в которые необходимо добавить сообщения uses ActnMan; {главная форма} type TMainForm = class(TForm) ActionManager: TActionManager; ActionMainMenuBar: TActionMainMenuBar; procedure FormPaint(Sender: TObject); procedure SetTrackMenu(value:boolean); private OkTrackMenu:boolean; end; procedure TMainForm.SetTrackMenu(value:boolean); begin OkTrackMenu:=value; end; procedure TMainForm.FormPaint(Sender: TObject); begin if Oktrackmenu then begin keybd_event($1B, 0, 0, 0); // эмулируем нажатие ESC иначе фокус останется // на меню PostMessage(ActionMainMenuBar.Handle,CM_ENTERMENULOOP,0,0); { или actionMainMenuBar.TrackMenu; } OkTrackmenu:=false; end; end; .................................... {дочерняя форма} type TChildform = class(TForm) procedure FormPaint(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormResize(Sender: TObject); private procedure WMSysCommand( var msg:TWMSysCommand); message WM_SYSCommand; end; procedure tChildform.WMSysCommand( var msg:TWMSysCommand); begin { при клике по строке заголовка формы CmdType=61458 форма максимизируется, а системные кнопки не появляются } if msg.CmdType=61458 then msg.CmdType:=sc_Maximize; inherited; end; procedure TChildForm.FormPaint(Sender: TObject); begin if OkTrackmenu then begin keybd_event($1B, 0, 0, 0); PostMessage(mainform.ActionMainMenuBar.Handle, CM_ENTERMENULOOP, 0,0); OkTrackmenu:=false; end; end; procedure TChildForm.FormResize(Sender: TObject); begin mainForm.SetTrackmenu(true); OkTrackmenu:=true; end; procedure TChildForm.FormCreate(Sender: TObject); begin mainForm.SetTrackmenu(true); okTrackMenu:=true; end; procedure TChildForm.FormActivate(Sender: TObject); begin keybd_event($1B, 0, 0, 0); PostMessage(mainform.ActionMainMenuBar1.Handle,CM_ENTERMENULOOP,0,0); OkTrackmenu:=false; end; procedure TChildForm.FormClose(Sender: TObject; var Action: TCloseAction); begin mainForm.SetTrackmenu(true); okTrackMenu:=true; with dmSprav.dqSprav do begin Close; end; action:=caFree; end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.12.2003, 01:35 |
|
||
|
ActionMainMenuBar и MDI
|
|||
|---|---|---|---|
|
#18+
Есть Action Bands Update D7 , возможно он поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2003, 09:32 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32342896&tid=2115612]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 262ms |
| total: | 406ms |

| 0 / 0 |
