![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с MDI !!!
Arestotel © (2004-06-14 14:09:00)При перемещении дочернего окна в MDI-приложение за область родительского окна появляется полоса прокрутки.
Подскажите плиз как от этого избавиться ?
p.s. Form1.verscrollbar.visible := False не подходит!!!
cdadmitriy (2004-06-14 16:37:00) [1]function ClientWindowProc(wnd: HWND; msg: Cardinal; wparam, lparam: Integer ): Integer; stdcall;
Const WS_MY=WS_HSCROLL or WS_VSCROLL;
var F: Pointer; L:Longint;
begin
f := Pointer(GetWindowLong(wnd, GWL_USERDATA ));
case msg of
WM_NCCALCSIZE: begin
L:=GetWindowLong(wnd,GWL_STYLE); if (L and WS_MY)<>0 then SetWindowLong(wnd,GWL_STYLE,L and not WS_MY);
end;
end;
Result := CallWindowProc(f, wnd, msg, wparam, lparam);
end;
cdadmitriy (2004-06-14 16:37:00) [2]wnd:=ClientHandle;
if wnd <> 0 then begin
if GetWindowLong(wnd, GWL_USERDATA) = 0 then //cannot subclass client window, userdata already in use
SetWindowLong(wnd, GWL_USERDATA, SetWindowLong(wnd, GWL_WNDPROC, integer(@ClientWindowProc)));
end;