Visual C++ .NET2003で勉強中の初心者です。
参考書を見ながらSDIでプログラムを作成しています。
いろいろコントロールをつけたりしているのですが,
メニュー等を使用しておらず,ダイアログベース
で作成したプログラムみたいですが配布を考えています。
以下について教えてください。
・不要な(まだ使用していない)メニューやツールバーを
非表示するにはどうするのがベストでしょうか?
ダイアログベースのような画面にしたいです
・作成したコントロールを無効(見えない動かない)にするにはどうすれば良いのでしょうか?
配布時は無効,個人的に利用するときは有効としたいので,削除できません。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
Visual C++ .NET 2003プログラミングはだんだん解ってきましたか?慣れるまでは難しいですよね。
■作成したコントロールを無効(見えない動かない)にする方法
都合により、こちらから解説しましょう。
これには、ShowWindow(SW_HIDE);が使えます。
もし、m_Btnが、あるボタンコントロールのオブジェクトだとすると、
m_Btn.ShowWindow(SW_HIDE);
でそのボタンは見えなくなります。一方、また表示するには、
m_Btn.ShowWindow(SW_SHOW);
とします。
■不要なメニューやツールバーを非表示にする方法
この際、ステータスバーも非表示にしてしまいましょう。
MainFrm.cppを開き、OnCreate関数の最後に少し手を加えます。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
return -1;
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
{
TRACE0("ツール バーの作成に失敗しました。\n");
return -1; // 作成できませんでした。
}
if (!m_wndStatusBar.Create(this) ||
!m_wndStatusBar.SetIndicators(indicators,
sizeof(indicators)/sizeof(UINT)))
{
TRACE0("ステータス バーの作成に失敗しました。\n");
return -1; // 作成できませんでした。
}
// TODO: ツール バーをドッキング可能にしない場合は、これらの 3 行を削除してください。
m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
EnableDocking(CBRS_ALIGN_ANY);
DockControlBar(&m_wndToolBar);
m_wndStatusBar.ShowWindow(SW_HIDE); // ■追加
m_wndToolBar.ShowWindow(SW_HIDE); //
SetMenu(NULL); //
return 0;
}
コントロールを見えなくするのと同じようにShowWindow関数を使えばツールバーやステータスバーも見えなくなります。
なお、SetMenu(NULL);はメニューを削除します。
ShowWindowはよく使うので、これを機会に覚えておきましょう。
即答有難うございます。
2つとも動作することを確認しました。
FORTRAN育ちですので,VC++に慣れるまでには時間がかかりそうです。
また質問に目が止まりましたらご対応お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# ActiveXコントロールを.NETにインポートできない??? 2 2023/05/02 02:50
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(コンピューター・テクノロジー) PC利用中に勝手に起動する窓を消し去る方法を教えて下さい。 1 2023/05/08 16:48
- その他(プログラミング・Web制作) プログラムの起動、利用について、使用期間を設定する方法 3 2023/08/06 21:03
- Illustrator(イラストレーター) 作者不明のフォントについて 「Caslon antique」というフォントを商用で使いたいのですが( 2 2022/10/11 17:21
- WordPress(ワードプレス) Wordpress 複数プラグインの不具合? 1 2022/10/09 21:52
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- その他(プログラミング・Web制作) Visual StudioでDjangoのプロジェクト配下のappを作成する方法 1 2022/05/01 03:47
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
DateTimePickerでに年月までし...
-
エクセルのコントロールツール...
-
フォームでPDFを表示させた...
-
EXCELVBA リストボックスで選択...
-
ワードのドロップダウンリスト
-
WM_SIZEを発生させる方法
-
連続で印刷すると画像が更新さ...
-
TabControlとToolBarの背景色変更
-
文字色を変えたい(ACCESS VBA)
-
WS_TABSTOPが機能するコントロ...
-
ActiveXコントロールを.NETにイ...
-
スピンボタンを右クリックして...
-
VCのコントロール最大配置数は?
-
VBAでリストボックス内で↑↓の操...
-
エクセル - リストボックスのマ...
-
VC++6.0 エディットボックス、...
-
MFCのプロジェクト作成時にコモ...
-
コモンダイアログコントロール...
-
Win32のリストコントロールで縦...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
フォームでPDFを表示させた...
-
スピンボタンを右クリックして...
-
DateTimePickerでに年月までし...
-
C++6.0でのresource.hについて
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
警告表示を非表示にしたい
-
エクセル - リストボックスのマ...
-
コモンダイアログコントロール...
-
EXCELVBA リストボックスで選択...
-
TabControlとToolBarの背景色変更
-
ワードのドロップダウンリスト
-
文字色を変えたい(ACCESS VBA)
-
CEdit の内容が変わった時にメ...
-
リストボックスの同期
-
VB6.0のデザイン時 コントロー...
-
WM_SIZEを発生させる方法
-
VBAでリストボックス内で↑↓の操...
おすすめ情報