忍者ブログ

神戸電子専門学校ゲームソフト学科の生徒が運営するGESのブログです。

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ウインドウのタイトルバーにアイコンを設定する

タイトルバーをアイコン化していきますが、
前回の「exeファイルにアイコンを設定する」をしていないと出来ません。
している人はソリューションエクスプローラの下の方に「resouce.h」があります。
していない人はこちら
 

拍手[0回]




TitleIconSet()関数の定義の場所に、
resouce.hとdglib2.hをインクルードしてください。
dg_setscreen()を呼んでから呼ぶようにしてください。
 
#include "resouce.h"
#include "dglib2.h"
/*~~~*/
void TitleIconSet(const char*  _WindowName)
{
    // ウインドウハンドルの取得
    HWND hwnd;
    hwnd=FindWindow(NULL,_WindowName);
    // 取得失敗
    if( hwnd==NULL ) return;
    
    SetClassLong(
        hwnd,           // ウインドウハンドル
        GCL_HICON,      // 変更する値の種類(アイコン)
        (LONG)LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_ICON1))
    );
    SetClassLong(
        hwnd,           // ウインドウハンドル
        GCL_HICONSM,    // 変更する値の種類(スモールアイコン)
        (LONG)LoadIcon(GetModuleHandle(0),MAKEINTRESOURCE(IDI_ICON1))
        );
}
// 使用例
main()
{
    dg_setscreen(0,0,S_WIDTH,S_HEIGHT,0,"デジゼミ");
    TitleIconSet("デジゼミ");       // ☆
    
    while(1){/* ゲームループ */}
}
補足:
IDI_ICON1でエラーが出るかも知れません。
その時は、resouce.hに書いてある定義名を使ってみてください。
 
これはdglib用のアイコンの設定の仕方です。
WinMainから始まるプログラムの場合は、WNDCLASSEXを登録するときに出来ます。

apiなどを調べているとインスタンスハンドル・ウインドウハンドルなど難しい用語が
出てきますが、一年生の2Dの授業が終わってからwindowsの仕組みの授業を受けるので
不安にならなくてもいいです。現段階では、関数の中身を知らなくても使えれば大丈夫です。
 
2010では試していないです。出来なかったら報告頂けると嬉しいです。

余談:
関数ポインタのセミナーを開くかも?

byリーダ和田
 
PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

ブログ内検索

最新コメント

[01/29 人面犬]
[10/01 8ch]
[09/12 uncle]
[09/10 某卒業生]
[06/07 uncle]

カレンダー

10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

テスト

Copyright ©  -- GESブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]