![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
Builder C++ではかなりのプログラムを作成していますが、拠点でプログラムを変更出来る様にVBでプログラムを作成し直しているVBに関してはほぼ初心者です。
VBでComboBoxを使用して内容を選択させようとして居ます。
プログラムの最初でComboBoxのTextに初期値(前回選択値)を設定して居ます。
ComboBoxで選択された内容はComboBoxの内容が変更された時に次回プログラム実行時の初期表示の為にiniファイルに書き込みをして居ます。
問題はプログラムの最初に初期値を書き込んだ時にもComboBoxの内容が変更される為、内容変更の割り込みが入り、iniファイルの書き込みルーチンが動作してしまう事です。
ComboBoxのTextの書き込の時に割り込みをしなくて、選択をした時のみ割り込みが発生する割り込みがあると良いのですが、調べた範囲では無い様でした。
Builder C++ではMouseUPイベントの割り込みを使って同じ機能を実現させたのですが、VBのMouseUpイベントでは一つ前に選択された内容しか入って来て居ない様です。
MouseUpのイベント割り込み先には以下のコーディングをして居ます。
Private Sub ComboBox1_MouseUp(ByVal sender・・・・・
Label1.Text = ComboBox1->Text
End Sub
しかし、これだと選択した時は前回選択された内容が表示されてしまいます。
当然
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender ・・・
Label1.Text = ComboBox1->Text
End Sub
の場合は選択された内容が表示されます。
双方共、実行後のComboBox自体の表示内容は選択されたものになって居ます。
MouseUpのイベントの時にも選択された内容が表示されれば、このイベントでは
ComboBox1->Text 初期値を設定した時はイベントが発生しないので都合が良いのですが、一つ前に選択された内容しか表示されません。
MouseUpの時には未だ内部処理が終了していないので新しい内容が表示出来ないのでしょうか。
Builder C++ には Application->ProcessMessages()と言う、他のタスクを先に実行させる関数がありますが、多分VBにもその様な関数があると思いますので、それを挿入すれば最新の状態を入手できるものでしょうか。
上記目的を達成出来る方法はありますでしょうか。
無ければフラグを使用して、ComboBox1->Text に初期値を設定した時には割り込み先でiniファイルの書き込みをしない様にプログラムする予定です。
当然、初期値を表示して居るのですから初期値設定時に再度iniファイルに書き込みがあっても問題は無いのですが、実際には動作していけないプログラムを書きますので、初期値書き込み時には割り込みが無い様にしたいのです。
VBでの処理方法がありましたらお教え下さい。宜しくお願い致します。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
初期状態設定中のフラグを立て、その間の各オブジェクトのイベントをキャンセルさせる。
初期状態設定が終わったら、フラグをおろして各オブジェクトのイベントを有効にする。
FormのTagでも利用すればよさそう。
ご回答ありがとうございます。
ご回答頂きました方法は質問文にも記載してありますが、他に方法が無ければその方法を使用しようと考えております。
ただ、C++Builderでイベントの割り込み禁止等が出来たので、VBでもその様な制御が出来ないか知りたくて質問させて頂きました。
今まで他の回答が無い事を考えると、VBではこの方法しかないのでしょうね。
ありがとう御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) ワードのマクロについて教えてください。 1 2023/01/21 16:01
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/06 17:46
- WordPress(ワードプレス) WordpressでYouTubeの埋め込みができない。 1 2022/10/26 01:08
- Chrome(クローム) SafariとChrome間でブックマークを同期 2 2022/06/09 23:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- バックアップ パソコンからDVDへコピー 5 2022/08/18 14:02
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DMA
-
PIC C言語プログラム
-
VB.2010 ComboBox 項目選択
-
PICプログラミングをしているの...
-
PICのPWMの正しい使い方につい...
-
スーパーのレジで並んでいたら...
-
ちょっとお聞きします・・
-
AKI-H8/3048Fでのタイマ割り込み
-
このレジの並び方は間違ってま...
-
USB機器からのデータ受信による...
-
Timerコントロールによる動作の...
-
電車で待機列の割り込みについ...
-
はじめて読む486の割り込み関係...
-
pic 複数の割り込み関数 切り分...
-
Macターミナルで実行中のプログ...
-
緯度、経度の 10進法と 60進法...
-
VBA kernel32 の意味
-
explorer.exeが異様にメモリを食う
-
初級者の質問――time_tについて
-
メッセージボックスのボタン名変更
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
このレジの並び方は間違ってま...
-
スーパーのレジで並んでいたら...
-
電車で待機列の割り込みについ...
-
ショッピング
-
CPUの処理量を減らすコーデ...
-
一定時間操作がなかったら、と...
-
CPU負荷率の安全な上限と計...
-
pic 複数の割り込み関数 切り分...
-
Amazonfireタブレットにわから...
-
【組込み】割り込み中のstatic...
-
USB機器からのデータ受信による...
-
マイコン C言語 割り込み処理...
-
駅のトイレでナイチンに邪魔さ...
-
インバウンドで迷惑している人...
-
PICのSleepからの復帰に関して
-
実行した後、どうしてもフリー...
-
PICでのプログラムによるチャタ...
-
SH2のタイマ出力
-
PICで内部タイマーを使わずカウ...
-
割り込み中に例外異常
おすすめ情報