• ベストアンサー

VBで終了時に表示される「変更・・・」

VB6初心者です。 Textを開いたり、保存したりするプログラムを 作っています。 今、壁になっているのは Xボタンで終了しようとするとき 「ファイルxxxは変更されています。変更を保存しますか? "はい"、"いいえ・・・」 の作り方がわかりません。 私の参考書にはありません。 入り口となるHP等教えてください。 へんな話ですが一番簡単な方法で教えていただければ 助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

フォームのQueryUnloadイベントで処理するようにしましょう ここの引数unloadmodeにどのような要因によって呼ばれたが記録されています 『X』ボタンによるクローズなら vbFormContorlMenuになります if Unlodemode = vbFormControlMenu then   If 変更されたかどうかのチェック= TRUE then     dim nRes as Long     nRes = MsgBox( "変更を保存しますか?", vbYesNoCancel )     if nRes = vbYes then       ' 保存処理を記述     elseif nRes = vbCancel then       Cancel = true     end if   end if end if といった具合になると思います # 全角スペースで字下げしています 適宜置換してください

Kuma2000
質問者

お礼

回答ありがとうございます。 希望どうりにできました。

関連するQ&A

  • VBで内部処理のみ行って終了するプログラムを作るには?

    VB6.0でコマンドラインからの引数をテキストファイルに出力して終了させるプログラムを作りたいのですが、フォームなど特に画面に表示することなく内部で処理をしたら勝手に終了させるにはどうしたらよいのでしょうか? 初心者の間の抜けた質問で申し訳ありませんが、どなたかアドバイスをお願いします。

  • VBでテキストをUTF-8で表示するには?

    VB超初心者です。 例えばTextBox1に「あいうえお」とあった際に、ボタンを押すとUTF-8に変換し、 TextBox2に「%e3%81%82%e3%81%84%e3%81%86%e3%81%88%e3%81%8a」と テキストで表示したいのですが上手くいきません。 いろいろとHPを参考にしながら、”System.Text.Encoding.UTF8.GetBytes"で 取得した値を"toStrings"で文字列すればいいのかな・・・などとやってみても 上手くいかず・・・ ご説明いただいても理解が追いつくか不安もありますが、ご教授願えれば幸いです。

  • VB 作成したプログラムを終了したのですが、何か残っています。

    こんばんわ。 VB6SP5でプログラムを作っています。 クローズボックスで終了してもVBのツールバーの「終了」ボタンが実行されている時のままになっています。 何かウインドウが残っているのかと思いますが、何か残っているか調べる方法がわかりません。残っているウインドウをdebug.print等で表示する方法はあるのでしょうか?

  • VBについて質問です

    VB2010でフォームデザイナーに、ツールBOXからテキストBOXとボタンを挿入します。テキストBOX内に数字を入力し、ボタンクリックで線がかけるようなプログラムを作成したいのですが、初心者で分かりません。コード等詳しく教えていただけないでしょうか。

  • VB2010Eで作成したプログラムの終了コード

    こんばんは、VB2010Eを使ってプログラミングをしています。 私のプログラミングのスキルは初心者(上・中・下で言うなら、下の中くらい;)です。 なのでお手柔らかにお願いします<(_ _)> 作っているプログラムに終了ボタンを作ったのですが、クリックイベントのコードに 『Close()』と『Application.Exit()』のどちらを書くべきでしょうか? 用途は、自作のプログラムを普通に終了させたいです。 (ウィンドウの右上角の[×]ボタンの様に普通に…) 出来れば、『Close()』と『Application.Exit()』の違い等も教えて下さい。

  • 他のアプリの終了

    また、質問ですがよろしくお願いします。 いま、コマンドボタン1でテキストエディターを開くような物をつくっています。 そこでコマンドボタン2をおしたらテキストエディターを(保存しないで)終了したいのですが、サンプルコードを教えて貰えないでしょうか。 補足ですがテキストエディターが開いても保存フォルダを指定し保存するVBwindowが最前面処理で動いてます。windowをactiveにしてsendkeyで終わらすことはできないですよね? よろしくお願いします。 環境VB6

  • VBで内容が変更された場合の・・・・

    formの中の内容text1 text2が変更された場合 またまだ保存されていない場合に終了すると 保存されていません保存しますか? を出したいのですが、どうすれば良いのでしょうか? いったん保存されて変更がされていない場合等は そのまま終了できるようにしたいです? 出来ますか?????

  • VBプログラムを終了させないようにするには

    VB2005 WindowsXPでの開発を考えています。 メニューボックスは表示せず、終了ボタンからの終了にはパスワードの入力を求めるようにします。 しかしこれだけでは、タスクマネージャ等からの強制終了ができてしまいます。 強制終了も不可能にすることは可能でしょうか? また、できるのであればプログラム起動中は、Windowsの操作(エクスプローラやスタートメニューなど)をできないようにしたいと考えています。現状ではモーダル状態のフォームを最大化して表示させようと思っていますが、他に良い方法を御存知でしたらお願い致します。

  • VBのリッチテキストについて

    OS98,VB6.0でテキストエディタを作っています。 文章中で指定した文字列を部分的に色をつける機能をつけたいと考え、 いろいろと調べてわかったことは、リッチテキストを使えばいいということでした。しかし、どのようにすれば、部分的に色を変えることができるのかわかりません。 あらかじめワードパッドで部分的に色を変えて保存したrtfファイルではリッチテキストに読み込んだとき、ちゃんと部分的に色が変わった状態で表示させることができました。 また文字の書式を取得しなければならないのかと思って以下のアドレスのプログラムを参考にさせてもらっていたのですが、実行ボタンを押しても何も起こらずいきずまってしまいました。 http://vbvbvb.com/jp/gtips/0451/gSendMessageEmGetcharformat.html どんな情報でもよいので、よろしくお願いします。

  • VB2008でほかのアプリケーションを操作したい

    VB2008でほかのアプリケーションを操作したい VBでButton1を押したらメモ帳で「ABC」と入力し新規保存させたり プリンタドライバーの設定を変更したりという操作をボタン一発でできるプログラムを作ろうと思ったのですが、どの様なコードの記述をしたらいいのでしょうか?