Witam,
potrzebuję ukryć ikonę zamknij w nagłówku formularzu.
W Porperties->BorderIcons->biSystemMenu mi nie odpowiada, ponieważ ukrywa ikonę w nagłówku.
Proszę o pomoc.
Witam,
potrzebuję ukryć ikonę zamknij w nagłówku formularzu.
W Porperties->BorderIcons->biSystemMenu mi nie odpowiada, ponieważ ukrywa ikonę w nagłówku.
Proszę o pomoc.
znaczy??? chcesz ukryć ikonę zamknij w nagłówku a biSystemMenu Ci nie odpowiada bo ukrywa w nagłówku?
Może takie coś:
Procedure FormXButtonHide(MyForm:TForm);
var
AppSysMenu: Integer;
begin
AppSysMenu := GetSystemMenu(MyForm.Handle, False);
if (AppSysMenu <> 0) then
DeleteMenu(AppSysMenu, SC_CLOSE, MF_BYCOMMAND)
else
showmessage('Handle not correct');
end;
a może takie:
Type
TForm1=class(TForm)
private
procedure WMNCHitTest(var Msg: TWMNCHitTest) ; message WM_NCHitTest;
procedure FormCreate(Sender: TObject) ;
end;
procedure TForm1.FormCreate(Sender: TObject) ;
begin
// Hide caption
SetWindowLong( Handle, GWL_STYLE,
GetWindowLong( Handle, GWL_STYLE ) and not WS_CAPTION ) ;
ClientHeight := Height;
end;
procedure TForm1.WMNCHitTest(var Msg: TWMNCHitTest) ;
begin
// ignore the Close button (but will still be drawn)
if Msg.Result = htClose then Msg.Result := htNowhere;
end;
a może takie:
procedure TForm1.FormCreate(Sender: TObject);
var
hSysMenu:HMENU;
begin
hSysMenu:=GetSystemMenu(Self.Handle,False);
if hSysMenu <> 0 then begin
EnableMenuItem(hSysMenu,SC_CLOSE,MF_BYCOMMAND or MF_GRAYED);
DrawMenuBar(Self.Handle);
end;
KeyPreview:=True;
end;
wersja uproszczona powyżeszego:
EnableMenuItem( GetSystemMenu( handle, False ),SC_CLOSE, MF_BYCOMMAND or MF_GRAYED );
Może wyjasnij coś więcej co chcesz osiągnąć to będzie łatwiej zrozumiec?
@Johnny_Bit Faktycznie niezbyt napisałem.
Chciałbym wygasić ikonę X czyli zamknij w nagłówku formularza a Porperties->BorderIcons->biSystemMenu ukrywa ikonę którą dodałem w
Porperties->Icon.
O to mi chodziło, któreś z powyższych rozwiąże ten problem ?
pierwsze, trzecie i czwarte. drugie ukryje Ci całą belke. ale testuj, zobacz co najbardziej pasuje ;)
@Johnny_Bit Dzięki ;)