• 締切済み

MainMenuのItemsについて

C++builder6でプログラムを起動して,MainMenuやTreeViewなどにItems等を追加しているのですが,一度終了して,また起動した時に,さきほど追加したやつが消えてしまい,残っていません。どうすれば一度終了して,もう一度起動したときにの先ほど追加したItems等が残るようになるか,教えて下さい。

みんなの回答

  • KoHal
  • ベストアンサー率60% (110/181)
回答No.1

動的に追加されたアイテムは動的に保存再構築するしかありません。 1.プログラム実行中に追加されたアイテムの情報をレジストリなりiniファイルなりに保存する。 2.次回起動時にそれを読み込みメニューその他を再構築する。 レジストリはTRegIniFile、iniファイルはTIniFileを使用します。 あと、TFileStreamのWriteComponent、ReadComponentを使う手もありますが、個人的にはあまりお勧めしません。

関連するQ&A

  • TreeView1のIndexを見てみたい。

    TreeViewをフォームに1つ追加して、いろいろと調べているのですが、 int test_index02 = TreeView1->Items->Item->Index; このIndexというのが、オブジェクトインスペクターというのを見てみたらint型とでてきたので、代入してみようとしたのですが、次のようなエラーが出てきました。 [BCC32 エラー] Unit1.cpp(67): E2193 呼び出し時のパラメータが足りない: _fastcall TTreeNodes::GetNodeFromIndex(int) このIndexの値を取り出すことはできるのでしょうか? どうぞ、教えて頂きますよう、お願い致します。 現在Code Gear C++ Builder 2009というのを使っています。

  • プログラムの再起動 

    C++Builderでプログラム作ってます。 その作っているプログラムに、再起動を させたいのですが、どうすれば良いのでしょうか。 初心者なので、やさしくお願いします。

  • Xcode、interface builderで「保存」機能の加え方を

    Xcode、interface builderで「保存」機能の加え方を教えて下さい★ 現在、Quartz Composerで作ったものを、Xcodeでアプリケーション化するのにつまずいています!! 1.Xcodeで新規プロジェクト、Quartzのフレームワークを追加 2.interface builderをmainmenu.xibファイルから起動 3.windowにQuartz Composer View、Quartz Composer parameter viewを追加 4.Quartz Composer ViewにてQuartz Composerコンポジションをロード 5.Quartz Composer parameter viewのアウトレットをQuartz Composer Viewに接続 6.Xcodeに戻り、ビルドして実行 で、とりあえずコンポジションをアプリケーション化する事が出来ました。 ここからさらに、Quartz Composer parameter viewでユーザーが変更する値を、アプリ終了時に保存させたいのですが、どうもやり方が分かりません。 いわゆる「保存」「別名で保存」「読み込み」などのメニュー機能を追加させたいのですが、なかなかうまくいきません! どうかご教授いただけないでしょうか!? Quartz Composer 3.1 Xcode 3.1.3 interface builder 3.1.2 よろしくお願いします!!

    • 締切済み
    • Mac
  • デバッグ終了後、再度デバッグ動作できない

    簡単な電卓のプログラムを組んで、ビルド後デバッグして、一旦デバッグ終了のためにフォームの右上の×ボタンで終了し、再度デバッグ動作を実行するとデバッグに入れなくなります。 一旦Code Gear C++ Builder 2009を終了使用とすると、”デバッグを終了しますか?”というメッセージボックスが出てきます。 そのままIDEの終了動作を行うと”デバッグプロセスを初期化できません のプロセスを終了する際にデバッガで致命的なエラーが発生しました。作業中のファイルを保存し CodeGear C++ Builderを再起動してください。” このようなメッセージボックスが出てきて強制終了してから起動しないかぎり再度デバッグ動作ができないのですが、解決方法ご存じの方いらっしゃいませんでしょうか? 現在使用しているのはCode Gear C++ Builder 2009 です。

  • 「Borland C++ Builder 5」で作成したプログラムについて

    「Borland C++ Builder 5」で作成したプログラム(コンポーネント使用)を、Builderを起動せずフリーソフトのようにWindows上で実行させるにはどうすればよいのでしょうか。

  • win10でCppビルダー2009起動しない

    久しぶりに、エンバカデロのC++ Builder 2009でコードの修正を行わなくてはいけなくなり、起動してみたのですが、なぜかウィンドウが全く開きません。 C:\Program Files (x86)\CodeGear\RAD Studio\6.0\bin\bds.exe  このexeを管理者権限で直接起動してみるとか、互換モードでwindows7選択なども試したのですが全く起動できません。 前回、PCがwindows 8.1搭載時にインストールした際には通常通りC++ Builder 2009は起動できていたのですが、今回windows10に更新してから初めての起動でした。 なにか、windows10になってからのC++ Builder 2009の起動で問題が発生しているなどの現象はありますでしょうか? どうぞ、ご教示頂きますよう、よろしくお願い致します。

  • プログラムの削除について

    あるソフトをインストールし、起動したらエラーが出たので、 一度、コンパネのプログラムの追加と削除からアンインストールしました。 そして、再度インストールしようとしたけど、うまくいかなかったので、 インストールをやめ、「システムの復元」を行い色々いじっていたのですが、 やはり、もう一度アンインストールをしようと思い、 プログラムの追加と削除から削除をしようとしたら、下記エラーが表示され アンインストールができなくなってしまいました。 エラー:『問題が発生したためInstallshied~を終了します。』 コンパネのプログラムの追加と削除以外からプログラムを削除する方法はないでしょうか。 OSはWindowsXPです。

  • コンテキストメニュークリック時のイベントハンドラ

    C#にてフォームアプリを作成しています。 そこでツリービューに表示されたノードを右クリックしたときにコンテキストメニューが表示される ように下記のように記述しました。表示されたノードの上で右クリックすると「Export」、「Import」 というメニューが表示されます。 しかし、イベントハンドラの書き方がよくわかりません。 「Export」又は「Import」がクリックされたというイベントはどう検出すればよいでしょうか。 // ノード右クリック時の動作 private void treeView1_MouseDown(object sender, MouseEventArgs e) { // 右クリックでもノードを選択させる if (e.Button == MouseButtons.Right) { // ノードの選択 treeView1.SelectedNode = treeView1.GetNodeAt(e.X, e.Y); // コンテクストメニューの作成 ContextMenuStrip contextMenu = new ContextMenuStrip(); ToolStripMenuItem openLabel = new ToolStripMenuItem(); openLabel.Text = "Export"; ToolStripMenuItem deleteLabel = new ToolStripMenuItem(); deleteLabel.Text = "Import"; contextMenu.Items.Add(openLabel); contextMenu.Items.Add(deleteLabel); // ツリービューにコンテキストメニューを追加 treeView1.ContextMenuStrip = contextMenu; } }

  • Internet Explorerを終了出来ません。

    Internet Explorerを起動して普通に利用し、終了しようと×をクリックすると、 「Internet Explorerは動作を停止しました  プログラムの終了(C)」 と表示され、プログラムの終了(C) をクリックすると、 Internet Explorerがまた自動的に起動されてしまいます。 一度パソコンを起動して利用すると、この状態が延々と続きます。 そこでタスクマネージャから終了を試みるのですが、結局結果は同じになります。 このような状態になった場合、Internet Explorerをどうすれば終了出来るでしょうか。 本当に困っています。対処法をお分かりの方、よろしくお願い致します。

  • アンインストール

    先ほど、XPにしましたがMEに戻そうとアンインストール使用としたのですが、プログラムの追加と削除からではなく間違えて「強制アンインストール」というソフトでアンインストールしてしまいました。 結果はプログラムの追加と削除の欄からはXPは消えたのですが、起動時などのロゴや内容的には変わっていません。 プログラムの追加と削除からXPが消えてしまったのでMEに戻す方法がわかりません。 どなたか教えていただけないでしょうか。

専門家に質問してみよう