投稿日 | : 2005/06/06(Mon) 07:17 |
投稿者 | : ダンボ |
URL | : |
タイトル | : 【お礼】hWndからコントロールを知る方法 |
のびたさん、Starfishさん、K.J.K.さん どうもありがとうございました。まとめレスで失礼します。
お3人様の話からすると、「直截的にhWndからコントロール(ポインタ?)を知ることはできない」
とすると1.WheelOpen時にCNTを登録して置け。2.SubClassProcでhWndを頼りに調べなおす。
の2方針が見えてきました。で、
1.(登録制)の手段として、
(1)Collectionオブジェクト…(のびたさん)
(2)SetWindowLong…(K.J.Kさん)
(3)SetProp…(K.J.Kさん)
(4)Redim動的なコントロール配列でもいいんじゃない?…(ダンボ追加)
2.(対象を絞り込め)
(1)ActiveControlの筈…(Starfishさん)
(2)GetClassNameでクラス名はわかるよ…(のびたさん)
(3)フォーム内のコントロールコレクションを全部あたる…(ダンボ元アイデア)
というアイデアをいただきました。個々についてもう少しだけ調べてから方針を決めますが
(というかステップ小さいのだから全部試してみたら?)
たった今は、1.(3)「登録制でSetProp」かなと予感しています。
> VB6で作成したAPPにマウスホィール機能を付けるためにサブタスク化しています。
「サブタスク化」->「サブクラス化」突っ込まれなくて良かった。。。