ComboBoxでのkeydown

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: ComboBoxでのkeydown

by tom » 2005年6月03日(金) 23:04

高信期さん
こんばんはtomです

> > ComboBoxで文字入力可能なようになっているので、EditBoxと同じメッセージが拾えるかと思うのですが。
> ComboBoxは複合コントロールなのでそれ自体をサブクラス化しても、
> 子ウィンドウであるEditやListBoxのメッセージを取得することは出来ません。

なるほどー。
1日悩んでました(^^;

すっきりしました。
そして無事取得できました。

大変ありがとうございましたm(__)m

by 高信期 » 2005年6月03日(金) 22:15

上の文章は私の投稿です。

by ゲスト » 2005年6月03日(金) 22:13

> ComboBoxで文字入力可能なようになっているので、EditBoxと同じメッセージが拾えるかと思うのですが。
ComboBoxは複合コントロールなのでそれ自体をサブクラス化しても、
子ウィンドウであるEditやListBoxのメッセージを取得することは出来ません。
なので、適当なときに

Dim hComboEdit As HWND
hComboEdit = GetWindow(GetDlgItem(hMainWnd, ComboBox1), GW_CHILD)

などと、子ウィンドウのハンドルを取得し、そのハンドルに対してサブクラス化してください。
但し、ComboBoxのスタイルにより子ウィンドウが存在しなかったり
ListBoxのハンドルを取得できるタイミングが限られるので注意してください。

by tom » 2005年6月03日(金) 13:57

> サブクラス化すればいいと思いますよ

ご返信ありがとうございます

サブクラス化はしているのですが、EditBoxで来るようなメッセージが飛んでこないのです。

ComboBoxで文字入力可能なようになっているので、EditBoxと同じメッセージが拾えるかと思うのですが。

ちょっと調べていたらPreProcessMessageなんてものが出てきましたがなぞです。

引き続きアドバイスお願い致します

by ヒガシモ » 2005年6月03日(金) 13:17

サブクラス化すればいいと思いますよ

ComboBoxでのkeydown

by tom » 2005年6月03日(金) 01:26

またまた質問です

ComboBoxでWM_KEYDOWNを取得する事は出来ますでしょうか?
サブクラス化して試してみたのですが、どうしてもWM_KEYDOWNとかWM_KEYUPとかが取れません。

どなたかアドバイスお願いしますです

ページトップ