Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в MDI-application избавиться от появления ScroollBar, [D5, Win2k, WinXP]


Vladimir Prokofiev ©   (2002-08-01 14:22:00) 

когда дочерняя форма залезает за край основной. Как это сделано у Word, например.


Dmk   (2002-08-03 01:39:00) [1]

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 TMainForm.FormCreate(Sender: TObject);
begin
if ClientHandle <> 0 then
begin
if GetWindowLong(ClientHandle, GWL_USERDATA) <> 0 then Exit; {cannot subclass client window, userdata already in use}
SetWindowLong(ClientHandle, GWL_USERDATA, SetWindowLong(ClientHandle,
GWL_WNDPROC, integer(@ClientWindowProc)));
end;
end;


Dmk   (2002-08-03 01:20:00) [2]

:)


Song   (2002-08-01 15:30:00) [3]

не поможет. Тут нужен спец обработчик


MrAngel   (2002-08-01 14:49:00) [4]

Просто поставь (в свойствах для скролов) Visible:=False


Наверх

Титульная страница Поиск, карта сайта Написать письмо