Как сделать форму без caption? |
Previous Top Next |
Обычная форма:
Code: |
TForm.Style:=bsNone |
©Drkb::00461
Автор: Song
Взято с Vingrad.ru http://forum.vingrad.ru
MDIChild форма:
Code: |
setWindowLong (handle,GWL_STYLE,getWindowLong(handle, GWL_STYLE) and not WS_CAPTION); width:=width+1; width:=width-1; |
Автор ответа: rhf
©Drkb::00462
Взято с Vingrad.ru http://forum.vingrad.ru
Code: |
{ Private Declaration } procedure CreateParams(var Params : TCreateParams); override;
...
procedure TForm1.CreateParams(var Params : TCreateParams);
begin inherited Createparams(Params); with Params do Style := (Style or WS_POPUP) and not WS_DLGFRAME; end; |
©Drkb::00463
Взято из http://forum.sources.ru
Code: |
procedure TForm1.HideTitlebar; var Style: Longint; begin if BorderStyle = bsNone then Exit; Style := GetWindowLong(Handle, GWL_STYLE); if (Style and WS_CAPTION) = WS_CAPTION then begin case BorderStyle of bsSingle, bsSizeable: SetWindowLong(Handle, GWL_STYLE, Style and (not (WS_CAPTION)) or WS_BORDER); bsDialog: SetWindowLong(Handle, GWL_STYLE, Style and (not (WS_CAPTION)) or DS_MODALFRAME or WS_DLGFRAME); end; Height := Height - GetSystemMetrics(SM_CYCAPTION); Refresh; end; end;
procedure TForm1.ShowTitlebar; var Style: Longint; begin if BorderStyle = bsNone then Exit; Style := GetWindowLong(Handle, GWL_STYLE); if (Style and WS_CAPTION) <> WS_CAPTION then begin case BorderStyle of bsSingle, bsSizeable: SetWindowLong(Handle, GWL_STYLE, Style or WS_CAPTION or WS_BORDER); bsDialog: SetWindowLong(Handle, GWL_STYLE, Style or WS_CAPTION or DS_MODALFRAME or WS_DLGFRAME); end; Height := Height + GetSystemMetrics(SM_CYCAPTION); Refresh; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin HideTitlebar; end;
procedure TForm1.Button2Click(Sender: TObject); begin ShowTitlebar; end; |
©Drkb::00464
Взято с http://delphiworld.narod.ru