Delphi 6 です。
for next などのループの中で、stringgridのセルをEnterキーで選択させたい時、選択されるまで(キーが押されるまで)処理を進めたくない方法は、どうするんでしょうか?
flg:=false;
for i:=1 to 100 do
begin
~諸々の処理で flg:=true; ~
if flg=true then x[i]:= stringgridの選択されたRow番号(はじめからフォーカスされている番号でなく)
~諸々の処理で flg:=false; ~
end;
No.2ベストアンサー
- 回答日時:
>>Application.ProcessMessage();
>これは、メッセージボックスを表示させるってことでしょうか?
ちがいます。
for文などのループでCPUのパワーを使い切ってしまうから他の処理ができないわけですから、一旦Windowsの他の処理に処理する時間をあげようというわけです。
ProcessMessage関数はこのWindowsに処理をもどす関数です。
No.1
- 回答日時:
わたしはC++Builderしか使わないのでうまくいくかどうかは微妙なんですが
Application.ProcessMessage();
をループ内で設定すればなんとかなるようにおもいます。
ただ、所定の処理はそれでいいのでしょうが、ことイベントドリブンなソフトか?といわれれば、おそらくは反則の部類に入るようにおもいます。
むしろ、GridのKeyPressや、KeyDownイベントで処理関数をコール、という方法を考えるべきだとはおもいますよ。
この回答への補足
ありがとうございます。
>Application.ProcessMessage();
これは、メッセージボックスを表示させるってことでしょうか?
DelphiもMessageDigやInputBoxがありますが・・・・
s:=1;
~~~
//----------------
flg:=false;
for i:=s to 100 do
begin
~諸々の処理で flg:=true; ~
if flg=true then
begin
s:=i+1;
break; // 他のルーチンでx[i]:= stringgridの選択されたRow番号をセット後もう一度ループさせる
end;
~諸々の処理 ~
end;
//--------------
こんな方法でやってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) 貼り付けた値が消えていく 以下はソースファイルの2番目のシートのB6から最終行を取得 ターゲットファ 2 2023/07/27 12:23
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA kernel32 の意味
-
VBSの処理中一旦処理を止めて再...
-
メッセージBOXの「はい」「いい...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
C# 何かキーを押すとことで処理...
-
キーボード入力、マウス操作を...
-
ASP VBScriptでスクリプト実行...
-
ASP.NETでのメッセージ画面を出...
-
スロットゲームのプログラミング
-
【MFC】イベントの無効化について
-
【C#】 あるイベントから別イ...
-
Excel VBA 自動的に閉じるMsgBox
-
キャンセルの方法
-
Excelのワークシートに行を挿入...
-
VB6 コマンドボタン クリック...
-
access 確認メッセージのはい/...
-
Windowsがシャットダウンする前に
-
Loopとフリーズ
-
手動かプログラムでの起動かの判断
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBSの処理中一旦処理を止めて再...
-
メッセージボックスのボタン名変更
-
ACCESS側からEXCELの書式を設定...
-
VBSで応答不要のメッセージボッ...
-
VBA kernel32 の意味
-
エクセルVBAでクリップボード内...
-
【C#】 あるイベントから別イ...
-
Excel VBA で処理中断(DoEvents...
-
VBA メッセージボックスを自動...
-
Application.ScreenUpdating=Fa...
-
Excel VBA 自動的に閉じるMsgBox
-
ASP.NETでのメッセージ画面を出...
-
メッセージBOXの「はい」「いい...
-
「キャンセル」ボタン付きの処...
-
B列に特定の文字列が入っている...
-
シャットダウン時のExcel強制終...
-
ASP VBScriptでスクリプト実行...
-
起動後直に実行するコードはど...
-
MFCのメニューバーのイベント取得
-
アクセスでのキー送信について
おすすめ情報