
VC++2005、MFCにてプログラムを作成しています。
サイズ変更枠のダイアログには、デフォルトでタイトルバーの左端に、
小さいウィンドウのようなアイコンが表示されますが、
クローズボックスは表示したままで、アイコンだけを消したいのです。
(よってプロパティのSystemMenuの値はTrueで固定)
自分で調べた方法で、
1.m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); を消す。
2.OnInitDialog()中で次の2行を消す。
SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定
とありますが、どちらも不可能でした。
※IDR_MAINFRAMEがソースに存在しない、OnIni内にSetIconが存在しない等
GetWindowStyle()を利用すれば実現できるとも聞いたのですが、
使い方が分からず、手が出せない状況です。
もし実現させる方法をご存知の方おられましたら、ご教示お願い致します。
No.1ベストアンサー
- 回答日時:
こんにちは。
以下は、MFC使用&ダイアログベースでのWinアプリ作成時(デフォルト構成から
あまり変更を加えていない場合)の話としてのコメントです。
※見当外れだった場合はすみません。
まず、ダイアログクラスの OnInitDialog() 内に、
SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定
のような記述がなく、かつ「アプリ実行時のタイトルバーにアイコンが表示されている」
ということは、システムのデフォルトのアイコンが表示されているのかもしれません。
それと、リソースエディタでのダイアログのプロパティ設定にて、
[境界線] の設定を 「サイズ変更枠」
に設定されているのではないでしょうか?
あくまで一例ですが、以下のような設定でアイコンを非表示にできるかもしれません。
※上手くいかなかった場合はすみません。
※当方は「VC++2005」を使ったことがないので、設定の画面、項目名などが異なって
いるかもしれません。 その際は、同等な機能・項目などに置き換えて下さい。
(もう過去の遺物ですが、当方は未だに「Visual C++ 5.0」を使用しています。(^_^;) )
==============================
■リソースエディタ上でのダイアログのプロパティ設定
スタイル : ポップアップ、または、オーバーラップ
境界線 : ダイアログ枠
※ここでは「サイズ変更枠」には設定しない。
タイトルバー : チェックマークをON
※スタイル設定をポップアップにした場合。
システムメニュー : チェックマークをON
■ダイアログクラスの OnInitDialog() への変更・追加
下記の例のように、ウインドウスタイル、システムメニューの設定を変更・追加してみて下さい。
this->ModifyStyle(0, WS_THICKFRAME); //←スタイルに「サイズ変更枠」を追加
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{ //↓システムメニューに「サイズ変更」を追加
pSysMenu->AppendMenu(MF_STRING, SC_SIZE, "サイズ変更(&S)");
}
あと、もし下記2行のような記述があった場合は、コメントアウトさせるか、削除して下さい。
SetIcon(m_hIcon, TRUE); // 大きいアイコンを設定
SetIcon(m_hIcon, FALSE); // 小さいアイコンを設定
【補足】
1)作成したアプリ実行時に、タイトルバー上で右クリックするとシステムメニューが表示されると
思います。
2)参考までに、上記の設定を行ったサンプルアプリでの、ダイアログプロパティの設定画面例と、
アプリ実行画面のキャプチャ画像を添付してみました。
==============================
なお、上記の設定例は下記サイトを参考にさせて頂きました。
■参考サイト
ダイアログの左端のアイコンを非表示にするには?
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng. …
ダイアログのシステムメニューで、アイコンはつけないで×「閉じる」ボタンだけつけるには?
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng. …
CreateWindowで作成したウィンドウに、アイコンはつけないで×「閉じる」ボタンだけつけるには?
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng. …
以上です。参考になれば幸いです。

ご回答ありがとうございます。
VC++2005にて上記方法を試してみた結果、
期待通りの動作をさせることが出来ました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォトショップチラつき 拡大・...
-
Windows11PCでMACアドレスの変...
-
変更されたブックマークのUR...
-
windows7の壁紙が勝手に変化する
-
IISのWebサーバ自体のI...
-
エクセルでRC表示がでてしまう...
-
マウスのカーソルの一括変更
-
ファイルのプロパティ、場所に...
-
OSインストール後にAHCIモード...
-
デスクトップ上ショートカット...
-
IEのプロキシ設定をC#プログラ...
-
【VC++6.0(MFC)】スタックメモ...
-
ステータスバーの文字の大きさ...
-
集合型のポスト?あれの暗証番...
-
Windows10に変えられてから大...
-
管理者権限以外でIP設定を変更...
-
文字サイズの変更 Android のタ...
-
レジストリーの特定のフォルダ...
-
iPhoneの設定で子供を大人(成...
-
Microsoftアカウント1つを2台...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変更されたブックマークのUR...
-
ファイル名の文字色の変更は出...
-
Windows11PCでMACアドレスの変...
-
ステータスバーの文字の大きさ...
-
管理者権限以外でIP設定を変更...
-
集合型のポスト?あれの暗証番...
-
word2016のオプションの設定が...
-
ユーザー名の変更方法は?
-
マウスのカーソルの一括変更
-
フォルダ用アイコン作成 → 背景...
-
Googleアカウント 個人情報の設...
-
CD-Rのボリュームラベルの変更...
-
メールの背景色と文字色の変更
-
「コンピュータ名」の設定について
-
WORDで文字の色を赤や黄など黒...
-
windows10でのアプリの表示がお...
-
Excel電子印鑑について
-
ファイルのプロパティ、場所に...
-
Accessのレポートで開くと「読...
-
サイズ変更枠ダイアログのタイ...
おすすめ情報