Q&A

  • 폼에 키설정해 놓은 것들을 다른 컴포에서 먹게하기
안녕하세요



폼에서 ESC를 누르면 종료된다던가를 설정하고요



case key of

VK_ESCAPE: close;

end;



뭐 이런식으로요



실행을 하면 폼위에 있는 패널이나 그 위의 버튼들이 포커스



된 상태에서는 실행이 안됩니다.



어떻게 해야할까요?



폼에서 키 설정을 세팅해놓으면 나먼지 콤포넌트에서도



그 값들을 실행했으면 좋겠는데



방법좀 알려주세요



좋은하루

2  COMMENTS
  • Profile
    술친구 2000.03.10 01:01
    허진 wrote:

    > 안녕하세요

    >

    > 폼에서 ESC를 누르면 종료된다던가를 설정하고요

    >

    > case key of

    > VK_ESCAPE: close;

    > end;

    >

    > 뭐 이런식으로요

    >

    > 실행을 하면 폼위에 있는 패널이나 그 위의 버튼들이 포커스

    >

    > 된 상태에서는 실행이 안됩니다.

    >

    > 어떻게 해야할까요?

    >

    > 폼에서 키 설정을 세팅해놓으면 나먼지 콤포넌트에서도

    >

    > 그 값들을 실행했으면 좋겠는데

    >

    > 방법좀 알려주세요

    >



    안녕하세요. 술친굽니다.

    폼의 KeyPreview 속성을 True 로 설정하시면 됩니다.



    술친구였슴돠..

    > 좋은하루

  • Profile
    최용일 2000.03.10 00:00
    다음과 같이 핫키를 레지스트리에 등록하시고 사용하면 됩니다..

    구창민님의 예제입니다...



    unit Unit1;



    interface



    uses

    Windows, Messages, Controls, Classes, StdCtrls, Buttons, Forms, Dialogs,

    Registry;



    type

    TForm1 = class(TForm)

    procedure FormCreate(sender: Tobject);

    procedure FormDestroy(sender: Tobject);

    public

    procedure WMHotKey(var message: TWMHotKey);message WM_HotKey;

    end;



    var

    Form1: TForm1;



    implementation



    {$R *.DFM}



    procedure TForm1.WMHotKey(var Msg: TWMHotKey);

    begin

    Close;

    end;



    procedure TForm1.FormCreate(Sender: TObject);

    begin

    if RegisterHotKey(handle, GlobalAddAtom('MyHotKey'), 0, VK_F2) = False then

    ShowMessage('흐미.. 등록 않됐