Q&A

  • BoderIcons에서 시스템 종료는 막고 최소화는 가능하게..
폼의 우측상단의 BoarderIcons에서 Form을 종료하지 못하게

biSystemMenu를 False로 하면

biMinimize를 이용할 수 없는데

위의 두가지를 모두 만족하게 할 수 있는 방법은 없나요?

즉, 최소화면으로는 가능하되 시스템 아임콘으로 종료는 못하게...

1  COMMENTS
  • Profile
    김영대 1999.07.28 01:00
    김준성 께서 말씀하시기를...

    > 폼의 우측상단의 BoarderIcons에서 Form을 종료하지 못하게

    > biSystemMenu를 False로 하면

    > biMinimize를 이용할 수 없는데

    > 위의 두가지를 모두 만족하게 할 수 있는 방법은 없나요?

    > 즉, 최소화면으로는 가능하되 시스템 아임콘으로 종료는 못하게...



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    Button1: TButton;

    procedure FormShow(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    procedure TForm1.FormShow(Sender: TObject);

    var

    TheHandle: THandle;

    begin

    // 아래 GetSystemMenu()의 Self.Handle는 System menu 를 변경할

    // 원도우의 핸들을 의미하며 False는 지정한 원도우가 사용하는

    // System menu 의 핸들(복사본)을 리턴합니다

    TheHandle := GetSystemMenu(Self.Handle, False);



    // 지정한 System menu의 menu item을 제거합니다

    RemoveMenu(TheHandle, 8, MF_BYPOSITION);

    RemoveMenu(TheHandle, 7, MF_BYPOSITION);

    RemoveMenu(TheHandle, 6, MF_BYPOSITION);

    RemoveMenu(TheHandle, 5, MF_BYPOSITION);

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Close;

    end;



    end.