手动编写的基于 Dialog 的 WIN32 程序,没有显示系统图标

abcdhy 2013-01-21 06:16:52
主函数如下:

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG_APP), NULL, DlgProc);
return 0;
}


我在资源编辑里,IDD_DIALOG_APP 的对话框属性中,System menu 属性已经为 TRUE 了。

但显示的对话框, 没有 左上角 的图标,只能右击 标题栏,才能显示 系统菜单。

为什么没有 左上角 的图标呢?是为没有指定窗口的图标吗? 要如何指定? 谢谢!
...全文
134 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcdhy 2013-01-21
  • 打赏
  • 举报
回复
明白了,谢谢!
vrace 2013-01-21
  • 打赏
  • 举报
回复
BOOL CALLBACK DlgProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    HICON hIcon;

    switch (iMsg)
    {
        case WM_INITDIALOG:
            hIcon = LoadIcon(...);  // Load your icon here
            SendMessage(hwnd, WM_SETICON, (WPARAM)TRUE, (LPARAM)hIcon);
            SendMessage(hwnd, WM_SETICON, (WPARAM)FALSE, (LPARAM)hIcon);
            // other initializations
            return TRUE;

        case ... // other messages
    }
}
hurryboylqs 2013-01-21
  • 打赏
  • 举报
回复
在WM_INITIALDIALOG里设置,发送WM_SETICON消息设置即可

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧