Q&A

  • 키처리에 관한 몇가지 질문입니다.
안녕하세요 질문 했는데 답변이 없어서 다시 올립니다.

질문이 잘못 되었나봐요 *^^*



1. Onkeypress와 Onkeydown에서 쓰이는 Key의 형이 틀린데

Onkeydown에서 쓰이는 Key의 도표는 어느분께서 답변 올리신거 있던데요

OnKeypress에서 쓰이는 Key의 값은 어떻게 참조하면 될까요?

어디에 나왔나요? *^^*



2. 폼이 실행 되는동안 단축키를 동작하고싶은데요 한개는 되거든요

RegisterHotKey(Handle, FAtom, MOD_ALT, VK_RIGHT); <== 이걸루요

근데 한개더, 여러개 정하려면 어떻게 해야 하나요? 도움말 봐도

잘 모르겠어요 *^^*



3. 위에꺼에서요 조합 단축키가 아니라 하나만 눌러서 예를 들어

PageUP만 눌러서 실행이 되도록 한다면 어떻게 지정 해야 하나요?



질문이 조금 이상하죠 잘 몰라서요 *^^* 답변 부탁드려요 꾸벅~!

1  COMMENTS
  • Profile
    구창민 1999.12.18 10:08
    송수현 wrote:

    > 안녕하세요 질문 했는데 답변이 없어서 다시 올립니다.

    > 질문이 잘못 되었나봐요 *^^*

    >

    > 1. Onkeypress와 Onkeydown에서 쓰이는 Key의 형이 틀린데

    > Onkeydown에서 쓰이는 Key의 도표는 어느분께서 답변 올리신거 있던데요

    > OnKeypress에서 쓰이는 Key의 값은 어떻게 참조하면 될까요?

    > 어디에 나왔나요? *^^*



    OnKeyPress에서 인자는 Char형이므로 아스키코드값으로 참조할수 있습니다.

    예) if Key=#13 then ShowMessage('Return Key');

    아니면 Char형으로 타입캐스팅하셔도 될겁니다.



    > 2. 폼이 실행 되는동안 단축키를 동작하고싶은데요 한개는 되거든요

    > RegisterHotKey(Handle, FAtom, MOD_ALT, VK_RIGHT); <== 이걸루요

    > 근데 한개더, 여러개 정하려면 어떻게 해야 하나요? 도움말 봐도

    > 잘 모르겠어요 *^^*

    >

    > 3. 위에꺼에서요 조합 단축키가 아니라 하나만 눌러서 예를 들어

    > PageUP만 눌러서 실행이 되도록 한다면 어떻게 지정 해야 하나요?

    >



    여러개를 등록하시면 됩니다. 예를 들면,

    RegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey1'), 0, VK_F3);

    RegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey2'), 0, VK_F4);

    RegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey3'), 0, VK_F5);



    종료하기전에 아시죠?

    UnRegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey1'));

    UnRegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey2'));

    UnRegisterHotKey(Self.Handle, GlobalAddAtom('ChangMinHotKey3'));



    그럼 즐거운 프로그래밍이 되시길~



    > 질문이 조금 이상하죠 잘 몰라서요 *^^* 답변 부탁드려요 꾸벅~!