WM_KEYDOWN은 써보셨는지요?
박목월 님이 쓰신 글 :
: 우선 헤더파일엔 아래처럼 되어있습니다
:
: typedef void (__closure *KeyInput)(System::TObject *Sender, Word &Key);
: class PACKAGE TPangyas : public TCustomControl
: {
: private:
: KeyInput FKeyDown;
: protected:
:
:
: public:
: __fastcall TPangyas(TComponent* Owner);
: MESSAGE void __fastcall VNKey_Downs(TMessage &Message);
: BEGIN_MESSAGE_MAP
: MESSAGE_HANDLER(CM_APPKEYDOWN,TMessage,VNKey_Downs);
: END_MESSAGE_MAP(TCustomControl)
:
: __published:
: __property KeyInput OnKeyDowns = {read=FKeyDown,write=FKeyDown};
: };
:
: 그리거 cpp파일엔 이렇게 되어있습니다
:
: static inline void ValidCtrCheck(TPangyas *)
: {
: new TPangyas(NULL);
: }
: //---------------------------------------------------------------------------
: __fastcall TPangyas::TPangyas(TComponent* Owner)
: : TCustomControl(Owner)
: {
: }
: //---------------------------------------------------------------------------
: namespace Pangyas
: {
: void __fastcall PACKAGE Register()
: {
: TComponentClass classes[1] = {__classid(TPangyas)};
: RegisterComponents("Standard", classes, 0);
: }
: }
: //---------------------------------------------------------------------------
: MESSAGE void __fastcall TPangyas::VNKey_Downs(TMessage &Message)
: {
: if(FKeyDown)
: FKeyDown(this,Message.WParamLo);
:
: 이렇게 해뒀습니다
: 그런대해보니 동작이 되지 않습니다
: CN_KEYDOWN 메시지로해봐도그렇고요
: CM_MOUSEENTER 로 해보니 잘되더군요
: 근데 키입력이 CN_KEYDOWN이 맞는건가요? 키입력 이벤트는 어떤걸써야되는지요
: 위소스에서 잘못된 부분은 어떤것인지 잘못된거면
: 어떻게 수정해야되는지 알려주세요
: 자꾸 이것만 건드리고있는데 당췌 안되네요
|