VB6(SP6)Windows98_SE、Visual Studio TM6.0(SP6)
素人の趣味のプログラミングです。良ければご指導お願いします。
実行画面上のコントロールがメニュー、ツールバー、スクロールバー及びピクチャーボックスまたは
リッチテキストボックスのみで、スクロールバーの点滅を回避するために、APIのSetCaretBlinkTime
で点滅間隔を長くしたり、コンボボックスやファイルリストボックスを追加することで試してました。
いづれも一長一短で、現在はツールバーボタンのスタイルをtbrDropdownにしてテキストボックスを追加して
Toolbar1_ButtonMenuClickでのファイルオープンとテキストボックスへのファイル名表示を行っています。
これでスクロールバーの点滅は解決しますが、テキストボックスのカーソルが点滅します。
また、このボタンをクリックした場合もう一度クリックするまで凹み状態が戻りません。
1.スクロールバーとテキストボックスのカーソルの点滅を無くす方法
2.このボタンをクリックした場合の凹み状態をプログラムコードで戻す方法が判りません。
以上二点ご指導宜しくお願いします。
ScrollBarのTabStopプロパティをFalseにするわけには
行かないのでしょうか?
TextBoxはFocusがあたっている限りCaretが点滅するのが
仕様なので仕方がないと思います。
# そもそもそこでTextBoxを使うべきであるのか、も考慮
# してみては。
K.J.Kさん早速のレス有難うございます。
>ScrollBarのTabStopプロパティをFalseにするわけには
>行かないのでしょうか?
TabStop=Falseにしていますが、他にフォーカスをセット可能なコントロールが無く
点滅が止められません。
>TextBoxはFocusがあたっている限りCaretが点滅するのが
>仕様なので仕方がないと思います。
># そもそもそこでTextBoxを使うべきであるのか、も考慮
># してみては。
先に試しましたが、フィルリストボックスではツールバーの高さが低く不向きで
コンボボックスでは表示は問題無いのですが、使う仮には機能を持たせ無くては無意味と思い、
クリックイベントでファイルをオープンする様にしたところ、プログラムの機能上
開いた情報ファイルの内容で、現在のメニューやツールバー、ホットスポット用の
ラベルコントロールの配列をアンロードする必要上、コンボボックスのクリック
イベントでこれを行うと、「現在はアンロード出来ません」のエラーが発生し、
利用できません。
他に気の利いた方法が有ればご指導お願いします。
それは結局のところ、ScrollBarに似て非なるものや、
TextBoxに似て非なるものを使いたい、ということですよね?
そういうことをする必然が見えないのですが、もし私が行う
のであれば、そういう風に描画する独自のコントロールを
作るなりします。似せる描画を補助するAPI関数を使うなど
すれば、XPのThemeに対応させようとしない限りはそんなに
複雑ではありませんし。
K.J.K.さんご指導有難うございました。
質問1.のScrollBarとTextBoxの点滅については簡単に出来ないと解りました。
必然性から見ても、私の技量から見ても諦めることにしました。
質問2.のToolbarのドロップダウンボタンの件ですが、元々の仕様なのか?
プロパティーの設定などで対応出来ることなのか?、私の環境かプログラム
の関係でこうなっているのか判りません。
宜しくお願いします。
K.J.K.さんご指摘の以下にについて、
# そもそもそこでTextBoxを使うべきであるのか、も考慮
# してみては。
ScrollBarの点滅を解消する目的での発案でしたので、FormのCaptionに表示する
ことにしました。
質問1.のScrollBarの点滅の件は、PictureBox或いはRichTextBoxにその都度
SetForcusすることで解決しました。
質問2.の件は私のプログラム上の問題でした。
Toolbarのドロップダウンボタンのクリックイベントで、情報ファイルをロード
する時にツールバーボタンのRemove、Addを行っているのが原因と判明しました。
(これを止めると元に戻りますが、プログラム上仕方有りません)
K.J.K.さんご指導有難うございました。
ツイート | ![]() |