ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月27日(土) 18:32

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 
作成者 メッセージ
 記事の件名: ComboBoxでのkeydown
投稿記事Posted: 2005年6月03日(金) 01:26 
またまた質問です

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

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


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年6月03日(金) 13:17 
サブクラス化すればいいと思いますよ


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年6月03日(金) 13:57 
> サブクラス化すればいいと思いますよ

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

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

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

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

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


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年6月03日(金) 22:13 
> ComboBoxで文字入力可能なようになっているので、EditBoxと同じメッセージが拾えるかと思うのですが。
ComboBoxは複合コントロールなのでそれ自体をサブクラス化しても、
子ウィンドウであるEditやListBoxのメッセージを取得することは出来ません。
なので、適当なときに

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

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


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年6月03日(金) 22:15 
上の文章は私の投稿です。


通報する
ページトップ
   
 記事の件名:
投稿記事Posted: 2005年6月03日(金) 23:04 
高信期さん
こんばんはtomです

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

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

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

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


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 6 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[14人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean