Alt + Tab キーで表示されるアイコン表示方法 – プログラミング – Home

Alt + Tab キーで表示されるア...
 
通知
すべてクリア

[解決済] Alt + Tab キーで表示されるアイコン表示方法


ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

MFCでSDIのアプリケーションを作っている初心者です。
開発環境はWindows2000 VisualC++6.0です。

アプリケーションを起動中にAlt + Tab キーでアプリケーションを切り替えする時に表示され
るアイコンを特定のアイコンにしたいのですが、やり方がわかりません。
今はウィンドウズのスタートボタンのアイコンが表示されています。

自分で調べてみたのですが、AppクラスのInitInstance()内で何か関数を使えばいいのでしょ
うか?
初心者で基本的なこともわかっていないかもしれませんが、アドバイスして頂きたいと思いま
す。宜しくお願いします。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

SDIならば何も変更しなければ、
IDR_MAINFRAMEのアイコンが表示されるはずですけど…

設定する場合はメインウィンドウが作成された後で、以下のようにします。
AfxGetMainWnd()->SetIcon(アイコン, TRUE);


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

dairygoodsさん、レスどうもです。

>設定する場合はメインウィンドウが作成された後で、以下のようにします。
>AfxGetMainWnd()->SetIcon(アイコン, TRUE);

SetIcon()の前に、LoadIcon()で使用したいIconを読み込んでみたんですが、うまくいきませ
ん。SetIcon()はC**AppクラスのInitInstance()で使用するんですよね?


返信引用
ひろぴー
 ひろぴー
(@ひろぴー)
ゲスト
結合: 22年前
投稿: 182
 

> SetIcon()はC**AppクラスのInitInstance()で使用するんですよね?
いいと思います。
参考
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200305/03050044.txt


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

InitInstance()内でm_pMainWnd->SetIcon( LoadIcon(アイコンID), TRUE );
としたところ、コンパイルは通るのですがAlt + Tab で表示されるアイコンの表示は変わりま
せん。
これだけではAlt + Tab で表示されるアイコンは変わらないのでしょうか?


返信引用
n
 n
(@n)
ゲスト
結合: 23年前
投稿: 159
 

最後の引数をTRUEとFALSEで2度呼ばないといけないみたいですね。
(というかICON_BIGとICON_SMALLで。)


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

>最後の引数をTRUEとFALSEで2度呼ばないといけないみたいですね。
>(というかICON_BIGとICON_SMALLで。)

教えていただいた通りにやってみましたが、うまくいきません。
InitInstance()は以下のようにしてあります。

CMainFrame* pFrame = new CMainFrame;

// フレームをリソースからロードして作成します
pFrame->LoadFrame(IDR_DPMON_MAIN_MENU,
WS_OVERLAPPEDWINDOW | FWS_ADDTOTITLE, NULL,
NULL);

pFrame->SetIcon( LoadIcon(IDR_MAINFRAME), ICON_SMALL );
pFrame->SetIcon( LoadIcon(IDR_MAINFRAME), ICON_BIG );


返信引用
n
 n
(@n)
ゲスト
結合: 23年前
投稿: 159
 

こっちではちゃんと変わるけど...何故だろう。


返信引用
FrozenAquarium
 FrozenAquarium
(@FrozenAquarium)
ゲスト
結合: 22年前
投稿: 22
 

>今はウィンドウズのスタートボタンのアイコンが表示されています。

これ、ホントかなぁ。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

HICON h = LoadIcon(IDR_MAINFRAME);
として、hは0以外の値になってます?


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

>HICON h = LoadIcon(IDR_MAINFRAME);
>として、hは0以外の値になってます?

hの値は0x000107bbです。
いろいろと手を加えてきたのでどこかがおかしくなっているのかも知れません。
もう一度プロジェクトを作り直して、やってみます。


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

解決しました。

もう一度プロジェクトを作り直して、InitInstance()内で
pFrame->SetIcon( LoadIcon(IDR_MAINFRAME),TRUE);にて
アイコン表示が変わりました。

今までにいろいろなところをいじっていたので、どこかがおかしくなっていたようです。
まだまだ勉強不足ですが、少しづつ上達していければと思います。
アドバイスを下さった方々、本当にありがとうございました。


返信引用
ナカ
 ナカ
(@ナカ)
ゲスト
結合: 22年前
投稿: 8
Topic starter  

チェック忘れてました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました