| Code: | 
| { Избавление от ScrollBar'ов в MDI-форме. (С) Peter Below (TeamB) } { Не надо VCL переписывать :-) } 
 unit MainForm; 
 interface 
 uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus; 
 type TfMain = class(TForm) MainMenu1: TMainMenu; Newchild1: TMenuItem; Newchild2: TMenuItem; procedure Newchild2Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; 
 var fMain: TfMain; 
 implementation 
 uses ChildForm; 
 {$R *.DFM} 
 procedure TfMain.Newchild2Click(Sender: TObject); begin with TfChild.Create(Application) do Show(); 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; 
 procedure TfMain.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; 
 end. | 
 
			
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!