![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Scroll у MDIMain [D6]
Petro_ © (2005-05-23 21:39:00)добрый вечер.
Уважаемые мастера скажите можно ли убрать прокрутку
у MdiMain для горизонтали и вертикали при сдвигании
Mdichild.
Спасибо.
Игорь Шевченко (2005-05-24 10:06:00) [1]Johnmen © (23.05.05 22:29) [1]
Автор - Peter Below
Johnmen (2005-05-23 22:29:00) [2]Можно.
В своё время приводил И.Шевченко, хотя от авторства открещивался :)
procedure TMainForm.FormCreate(Sender: TObject);
begin;
if ClientHandle<>0 then begin;
if GetWindowLong(ClientHandle,GWL_USERDATA)<>0 then Exit;
SetWindowLong(ClientHandle,GWL_USERDATA,
SetWindowLong(ClientHandle,GWL_WNDPROC,integer(@ClientWindowProc)));
end;
end;
----------
function ClientWindowProc(wnd: HWND;
msg: Cardinal;
wparam, lparam: Integer ): integer; stdcall;
var f : pointer;
begin;
f:=pointer(GetWindowLong(wnd,GWL_USERDATA));
case msg of
WM_NCCALCSIZE : if (GetWindowLong(wnd,GWL_STYLE) and
(WS_HSCROLL or WS_VSCROLL))<>0 then
SetWindowLong(wnd,GWL_STYLE,GetWindowLong(wnd,GWL_STYLE)
and not (WS_HSCROLL or WS_VSCROLL));
end;
Result:=CallWindowProc(f,wnd,msg,wparam,lparam);
end;