![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Полосы прокрутки на форме.
novice_man © (2006-02-24 08:45:00)Можно ли убрать (и собственно как) полосы прокрутки на форме (MDIForm), что бы при помещении на неё дочерней формы, не появлялись полсы прокрутки. Даже если дочерняя форма выходит за границы главной формы.
novice_man (2006-02-24 13:41:00) [1]Спасибо.
sniknik (2006-02-24 13:29:00) [2]
...
implementation
{$R *.dfm}
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;
procedure TForm1.FormCreate(Sender: TObject);
begin
if ClientHandle <> 0 then begin
if GetWindowLong(ClientHandle, GWL_USERDATA) = 0 then {cannot subclass client window, userdata already in use}
SetWindowLong(ClientHandle, GWL_USERDATA, SetWindowLong(ClientHandle,
GWL_WNDPROC, integer(@ClientWindowProc)));
end;
end;