TPanel에서 방향키 입력받기

From YYpBD's MediaWiki

Jump to: navigation, search
 [답변] panel 에서 방향키 입력받기
장성호
(nasilso)
2008-11-07 오전 1:50:59
54회 조회

등록된 파일이 없습니다.                 

제가 답변을 잘못드렸네요

방법은

CN_KEYDOWN 을 메세지를 처리하지 않고 return해버리시면됩니다.

           
procedure TForm1.PanelProc(var Msg: TMessage);
begin

  if(Msg.Msg=WM_KEYDOWN)then
  begin
    if( Msg.WParamLo=37) then
       Memo1.Lines.Add('Panel1 WM_KEYDOWN VK_LEFT')
    else if( Msg.WParamLo=38) then
       Memo1.Lines.Add('Panel1 WM_KEYDOWN VK_UP')
    else if( Msg.WParamLo=39) then
       Memo1.Lines.Add('Panel1 WM_KEYDOWN VK_RIGHT')
    else if( Msg.WParamLo=40) then
       Memo1.Lines.Add('Panel1 WM_KEYDOWN VK_DOWN')
    else
      Memo1.Lines.Add('Panel1 WM_KEYDOWN Another');


  end;

  if(Msg.Msg=WM_KEYUP)then
  begin
    Memo1.Lines.Add('Panel1 WM_KEYUP');

  end;


  // TPanel 컨트롤에서 키보드 입력을 받게하고
  // Tab 및 방향키 같은것을 받을수 있도록 ...
  // 핵심
   if(Msg.Msg=CN_KEYDOWN)then  Exit;

   OrgPanelProc(Msg);

end;             


이것 저도 얼마전에 으럽게 알아내어서 ..  나만 몰래 알고 있으려 했는데...
맞춤검색