Ukrycie ikony Zamknij w nagłówku Formularzu

0

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.

0

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?

0

@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 ?

3

pierwsze, trzecie i czwarte. drugie ukryje Ci całą belke. ale testuj, zobacz co najbardziej pasuje ;)

0

@Johnny_Bit Dzięki ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1