看第一章的第一个例子时,和很多初学者一样,我也想知道如何把可执行文件的默认的图标:
改成自己需要的,例如这样:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
首先来看看资源文件中到底是怎么定义的:
IDI_CH_1 ICON "JJHOUR.ICO"
IDC_CH_1 MENU
BEGIN
POPUP "文件( &F )"
BEGIN
MENUITEM "退出( &X )", IDM_EXIT
END
POPUP "帮助( &H )"
BEGIN
MENUITEM "关于( &A ) ", IDM_ABOUT
END
END
IDC_CH_1 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "ch_1"
IDC_CH_1 "CH_1"
END
IDC_CH_1 MENU
BEGIN
POPUP "文件( &F )"
BEGIN
MENUITEM "退出( &X )", IDM_EXIT
END
POPUP "帮助( &H )"
BEGIN
MENUITEM "关于( &A ) ", IDM_ABOUT
END
END
IDC_CH_1 ACCELERATORS
BEGIN
"?", IDM_ABOUT, ASCII, ALT
"/", IDM_ABOUT, ASCII, ALT
END
STRINGTABLE
BEGIN
IDS_APP_TITLE "ch_1"
IDC_CH_1 "CH_1"
END
下面是程序中注册窗口类的代码片段,图标就是在这里加载的,
wcex.hIcon
=
LoadIcon(hInstance, MAKEINTRESOURCE(IDC_CH_1));
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1 );
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_CH_1);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDC_CH_1));
因此我们只需要在资源文件中修改
IDI_CH_1
为我们需要的图标就可以改变可执行文件的默认图标了
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1 );
wcex.lpszMenuName = MAKEINTRESOURCE(IDC_CH_1);
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDC_CH_1));