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

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

Проблемы с 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;


Наверх

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