• 締切済み

DelphiのOKボタンのイベント処理

はじめまして。Delphiを初めて数ヶ月の初心者なんですが、 わからないことがありますので教えてください。 フォームにOKボタンとCancelボタンを作成し、 OKボタンが押されたときのOnClickイベントでエラーチェックをして OKならフォームClose NGならCloseしない という操作がしたいのですが、後者のやり方がわかりません。 よろしくお願いします。

みんなの回答

回答No.1

Delphiのバージョンは? また、どんなコードを書いているのでしょうか? 単純に考えれば xxxx OnClick(Sender:xxx) begin  if エラーチェック then  begin   Form1.Close;  end; end; こんな感じでコードを書けばすむと思うのですが・・・。

関連するQ&A

  • C#でボタンクリックをキャンセル

    C#でボタンクリックをキャンセル こんにちは。 C#+.Netです。 ・テキストボックスとボタンを持つフォーム ・ボタンが押された時にテキストボックスの内容をチェックする。 ・OKであれば、そのままフォームを閉じる。 ・NGであればメッセージボックスを表示して、フォームは開いたまま。 というフォームを作成したいのです。 フォームはShowDialogで表示させます。 ボタンのDialogResultには、DialogResult.OKを設定してあります。 ボタンのClickイベントを使って、メッセージボックスを出すことはできたのですが、フォームを開いたままにすることができません。 あるいは、ボタンのDialogResultはNoneのままにして、イベントハンドラ内から、フォームを閉じる方法がないかと思ったのですが、それもわかりません。 どのようにすればよいのでしょうか?よろしくお願いします。

  • VBA イベント Exit時にボタンを有効にしたい

    VBAで イベント _Exit(ByVal Cancel As MSForms.ReturnBoolean)が有効(Cancel=True)の場合、ボタンが有効にならない。 例えば、「閉じる」ボタンを押下するとフォームを閉じたいが _Exitの処理が実行される。 _Exit処理を強制終了し ボタンを有効にできるでしょうか?

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • Delphi ラベルの点滅方法

    Delphiの初心者です。 フォームを作成し、その中にラベルを表示させています。  そこで、フォーム内にあるラベルを点滅させるようにしたいのですが、 どのようにすればよいのか、まったく検討がつきません。 ラベルを点滅させるようにプログラムを作成することはできますか? ちなみに、フォームは点滅させたくありません。

  • VBAのイベント処理について

    VBAのイベント処理について お世話になってます。現在、VBAでアプリケーションを作成しています。 1つのフォームに4つのテキストボックスと1つのボタンが配置されており、それぞれイベントが設定されています。 その中のテキストボックスに関するイベントなのですが、1つのテキストボックスに対してKeyPress、KeyDown、MouseUp、AfterUpdate、以上4つのイベントを作成します。 フォームに配置されている4つのテキストボックスすべてに、上記で示したイベントを作成する必要がありますが、各イベントにおける処理の内容はオブジェクト名が違うだけで全く同じです。 ひとつひとつイベントを作成していけば、処理目的は満たせそうですが、ソースがかなり長くなってしまいます。ひとつのオブジェクトに対してこれらの処理をひとまとめにする様な記述方法はありませんでしょうか?考え方だけでも教えていただければ幸いです。 質問が長くなってしまい申し訳ありません。回答宜しくお願い致します。

  • アクセスでの登録ボタンでの処理について。

    アクセス初心者です。新規登録用のフォームを作成しています。普通のフォームはマウス等の操作で前後の情報が見れますよね?(100件、情報が入力されていたら、100件見れますよね。)非連結で作成して、クエリに飛ばして、登録ボタンを押したものだけがテーブルに入っていくという構造はできるのでしょうか?ちなみにクエリから引っ張ってきた検索画面はフォームにあります。今の作成に仕方で、登録ボタンをクリックしても、テーブルに入っていきません。新規登録用フォームはMainMenu上に新規というボタンを設けてあって、それをクリックしたら新規登録用画面が開くという風に作りたいのです。テーブルに情報を入れていくのは非連結じゃ無理なんですか?どなたか分かる方いましたらご教示ください。よろしくお願い致します。

  • 閉じるボタンについて...

    ご存知の方、教えて頂けないでしょうか? フォームの閉じるボタンをクリックした時いきなり閉じるのではなく、 確認メッセージを出したいのですが、 閉じるボタンのクリックイベントを受け取り、条件によってクローズの中断を行うにはどのようにすれば可能ですか? 大変申し訳ありません。宜しくお願いします。

  • C#で作成したDLLをDelphiで呼ぶ方法

    プログラミング初心者です。 以下の内容について、どなたか教えてください。 Visual studio 2010(C#のフォームアプリケーション)とCOM(ActiveX Tool bar)で作成されたフォームをDelphiで呼び出すことは可能でしょうか。 上記の内容を試験的に作成し(Visual studio 2010C#のフォームにCOMから参照したToolbarを貼り付けた物)、プロジェクトの出力方式をクラスライブラリに変更して、DLLの作成までは行えました。しかし、その先のDelphiからの呼び出し方がわかりません。 上記のDLLを用いてDelphiから呼び出す方法をご存知の方がいれば、教えてください。 なお現在の開発環境は以下の通りです。 Visual Studio 2010(C#) Delphi XE2(Trial) ご教授のほど、よろしくお願い致します。

  • Xボタンの認識

    初心者です。 フォームの右上にあるXボタンが押された時に、 固有の処理(メッセージを出す)を行いたいのですが、Xボタンであることを認識する方法が分かりません。 ご教授をお願いいたします。 ※Me.Close()を、ボタンのClickイベント、テキストボックスのKeyDownイベントから行っています。 その時の処理と、Xボタンの時の処理を分けたいです。 ボタンの認識では、ActiveControlを使うようなことは分かったのですが。。

  • [Delphi] Socketのエラーを抑制する方法

    バックグラウンドで動作して、インターネットからWebの新着情報を持ってきて画面の隅に表示するというアプリケーションをDelphi + TClientSocketで作成しています。 フォーム作成時 : ClientSocket1.open; 接続時 : ClientSocket1.socket.sendtext(リクエスト内容); 受信時 : フォームの情報を更新 タイマー : 一定時間おきに接続イベントを発生 そこで質問なのですが、ネットに繋がっていない等でDNS参照に失敗すると 「Windowsソケットエラー API ASync Lookup」 と、APIからエラーが返ってきます。一定時間おきにチェックするので、非接続時にこれが毎回出てくるとうざいということで、接続失敗しても黙っているように変更したいのですが、どのようにしたら良いのでしょうか・・・。 TClientSocketのヘルプが無くてわかりませんでした(汗

専門家に質問してみよう