[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2004/10/08(Fri) 17:59
投稿者名:Sirfee
Eメール:
URL :
タイトル:
MSFlexGridのスクロールバーについて
質問です。
Flexに表示領域を越えたデータを登録すると
縦スクロールバーが出ます。
これをホイールマウスで上下させるにはどうしたら良いですか?
イベントも無かったので簡単には行かないという事でしょうか。

開発環境
Windows2000
VB6(SP6)

投稿時間:2004/10/08(Fri) 18:24
投稿者名:ダンボ
URL :
タイトル:
Re: MSFlexGridのスクロールバーについて
> これをホイールマウスで上下させるにはどうしたら良いですか?
> イベントも無かったので簡単には行かないという事でしょうか。

VB6では、APIを使わないと出来ないですよ。リストボックスでも同様な不便がありますね。
コーディングサンプルは、「VB サブクラス化 ホイール マウス」でWeb検索してみてください。
10件くらい良いのが見つかります。

投稿時間:2004/10/12(Tue) 15:23
投稿者名:Sirfee
Eメール:
URL :
タイトル:
Re^2: MSFlexGridのスクロールバーについて
有難う御座います。
とても素早い回答に対してお返事遅くなってしまい、申し訳ないです。

> VB6では、APIを使わないと出来ないですよ。リストボックスでも同様な不便がありますね。
> コーディングサンプルは、「VB サブクラス化 ホイール マウス」でWeb検索してみてください。
> 10件くらい良いのが見つかります。

検索してみました。
サブクラス化というのがある事は知りませんでした。
で、いくつか見てみると確かにこれで出来そうです。
ホイールを上下させた場合、それぞれどの程度、どう動かすか、
スクロール表示・非表示時、座標等も考慮して
細かくコーディングしないといけないんですね(^^;
とりあえずこういう手があるんだと大変勉強になりました。

やりたい事は簡単だけど、実際に作り込むとなると
自分にとっては、ちょっと手間のかかる作業だという事も分かりました。
最近マウスホイールの無いマウスは皆無に近いので
現在製作中のアプリも時間の空いている時に出来れば対応する程度で考えることにしました。
一番いいのはコントロール側にイベント持ってくれると楽ですが(^^;
何故コントロールに無いんでしょうね・・・イベント。
VB使う現場はまだまだあると思いますが。。

有難う御座いました。

投稿時間:2004/10/08(Fri) 18:53
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: MSFlexGridのスクロールバーについて
多分、ご使用のマウスではVBのIDE上でもホイール機能が使えないのでは?
同様にIEやエクスプローラでもうまくホイル機能が働かないと思うのですが
hhttp://support.microsoft.com/default.aspx?scid=kb;JA;837910&Product=vbJPN

私は、マウスを新しいのに換えて使用しています。
マウスのドライバーを変更するなり、違うマウスを試して見て下さい。
(ノートパソコンの場合は、ドライバーそのものがうまくインストールできない場合があります)

又、フリーソフトのどこでもホイール等を使用しても改善できるようです。
(過去ログ No.3099 参照)

投稿時間:2004/10/12(Tue) 15:53
投稿者名:Sirfee
Eメール:
URL :
タイトル:
Re^2: MSFlexGridのスクロールバーについて
有難う御座います。
返事が遅くなり申し訳ないです。

> 多分、ご使用のマウスではVBのIDE上でもホイール機能が使えないのでは?
> 同様にIEやエクスプローラでもうまくホイル機能が働かないと思うのですが
> hhttp://support.microsoft.com/default.aspx?scid=kb;JA;837910&Product=vbJPN

その通りです。
もともとメーカー製のPCにはmicrosoft系のインテリマウス等が
ついてくる事は最近では少ないので(覚えてる範囲ではGateWayしかないです)
お察しの通りの状態です。
しかもメーカー製のマウスは中身がどこのもんなのか分かりませんし。
(まぁ、何気に分かってしまうモノもありますが^^;)

> 私は、マウスを新しいのに換えて使用しています。
> マウスのドライバーを変更するなり、違うマウスを試して見て下さい。
> (ノートパソコンの場合は、ドライバーそのものがうまくインストールできない場合があります)
> 又、フリーソフトのどこでもホイール等を使用しても改善できるようです。
> (過去ログ No.3099 参照)

と、いう事で(?)
フリーソフト入れるのが一番簡単だろうと思い、試しに入れてみました!

結果・・・なんとIDE上、MSFlexGrid上共にきちんと動くでは無いですか!

有難う御座います!かなり感動してます!
自分が使う分にはこれで十分過ぎるほどですね。

話を戻しまして、MSFlexGridを使用したプログラムを不特定多数のユーザーに
配布する場合、マウスホイールの対策は上のレスのような
APIを使用したサブクラス化を行うか、放置するのが慣例なんでしょうか。
フリーソフト等の公開の場合はこれでもいいですが、企業向けソフトとなると、フリーソフト入れてね
ってのは、ちょっとですし(^^;
その辺でもう少し悩みそうです。今レスを見ての感想ですが。

そもそも表が簡単に綺麗に出せそうだと思いMSFlexGridを安易に使ったのが運の尽きだったのか。
どうもコントロールの問題が大きいっぽいので他に簡単で有効な方法は多分無いと思いますが
もう少しだけ考えてみることにします。

以上です。長文失礼しました。