[過去ログ] Windowsゲームプログラミング 質問スレ (973レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
699(3): 2010/12/26(日)14:40 ID:BzGIguKq(1) AAS
質問失礼します
C++でのWindowsプログラミングで、エディトウィンドウAでの文字入力を捕まえてエディトウィンドウBに同じメッセージを飛ばすということをしたいのですが、次のコードだと日本語入力を捕まえてくれません。
(Aをサブクラス化しています)
LRESULT CALLBACK AProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) {
if(message == WM_KEYDOWN) {
PostMessage(B, WM_KEYDOWN, wParam, lParam);
}
省3
700(1): 2010/12/26(日)19:40 ID:DlRTWhIN(1) AAS
>>699
やりたいことはよくわからんが、WM_CHARの方を使うとか
701: 2010/12/26(日)21:04 ID:BaeaVQ+I(1) AAS
>>699
フォーカスがBに無いと受け取らないんじゃね?調べてないけど。
WM_USER+xとかで送れば?
702: 2010/12/29(水)05:14 ID:IFaaeh/8(1) AAS
>>699
捕まえるにはWM_IME_KEYDOWN、WM_IME_KEYUPを見たらいけるかもしれない。
ただし、それをそのまま転送してもだめなはず、
IMEの処理が入る位置はWM_KEYDOWNやWM_IME_KEYDOWNより前の段階であるため。
やるならSendInputやkeybd_eventで同じキーストロークを再現する(これでうまくいくかは知らない)。
あるいは、>>700の言っているようにWM_CHARなどの転送で事足りるのかもしれないけど。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.027s