Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
ВнизКак активировать MDIChildlen[N]? Найти похожие ветки
← →
Unknown user © (2004-12-22 18:27) [0]Есть у TForm методы Next и Previous, позволяющие переключить фокус на следующую/предыдущую MDIChildlen, а как активировать MDIChildlen[N]?
← →
Gero © (2004-12-22 18:37) [1]MDIChildlen[N].BrightToFront
← →
Unknown user © (2004-12-22 18:48) [2]2 Gero. Почему-то работает неправильно. Меняет состояние окна из Maximized в Normal, затем обратно, и не срабатывает для MDIChildlen[0].
← →
Gero © (2004-12-22 18:50) [3]
> Unknown user © (22.12.04 18:48)
> Меняет состояние окна из Maximized в Normal, затем обратно
Это недоработка MDI.
← →
Unknown user © (2004-12-22 18:58) [4]2 Gero. Prev, Next работает отлично. Как же быть?
← →
MBo © (2004-12-22 20:51) [5]Whenever an MDI child is activated, however, it moves to the front of the list. Thus, use I to index over all forms in the array, but not to refer to a specific form.
← →
MBo © (2004-12-22 21:12) [6]procedure TMainForm.ToolButton12Click(Sender: TObject);
begin
SendMessage(CLientHandle,WM_MDIACTIVATE,MDIChildren[Random(MdiChildCount-1)+1].handle,0);
end;
TMDIChild = class(TForm)
Memo1: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
procedure WMMdiActivate(var Msg : TWMMdiActivate); message WM_MDIACTIVATE;
...
procedure TMDIChild.WMMdiActivate(var Msg: TWMMdiActivate);
var
Style: Longint;
begin
if (Msg.ChildWnd = Handle) and (Msg.ActiveWnd = 0) and
(biSystemMenu in BorderIcons) then begin
Style := GetWindowLong(Handle, GWL_STYLE);
if (Style and WS_MAXIMIZE <> 0) and (Style and WS_SYSMENU = 0) then
SendMessage(Handle, WM_SIZE, SIZE_RESTORED, 0);
end;
end;
(из borland конференций)
← →
Unknown user © (2004-12-23 18:19) [7]2 MBo. Информации по этому поводу нигде не нащел. Неужели я первый кто столкнулся с такой проблемой?
← →
Unknown user © (2004-12-23 18:29) [8]Попробуйте создать New|Projects|MDIApplication, затем в обработчике OnResize TMDIChild добавить showmessage("resize"), TMDIChild.WindowState:=wsMaximized и при переключении с одной MDI формы на другую при помощи MDIChildren[1].Show, BringToFront, SendMessage, неважно как, окно MDIChild сначала уменьшается в размерах, затем снова разворачивается на всю клиентскую область родительского окна. Как этого избежать? При Next и Previous такого не происходит.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.09;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.034 c