我最近正在编辑visual c ++ 2010中的一个开源项目,我对vc ++知之甚少(我只有5天的c ++经验),我不知道我正在改变项目的一些用户界面
我的项目中只有一个图标,应用程序将主图标显示为图标,同时我想使该图标也位于对话框的标题上(当按钮处于显示状态时,将显示该对话框单击主窗体,
对话框已经在资源/对话框中,但我想更改它的图标;
答案 0 :(得分:3)
您需要找到您感兴趣的对话框的对话框程序,并在WM_INITDIALOG
消息处理程序中(如果它尚不存在则需要添加它)使用WM_SETICON
来设置图标:
// hIcon is your icon handle
SendMessage(hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
SendMessage(hDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
答案 1 :(得分:0)
如果它是MFC(例如CDialog)
,您也可以搜索LoadIcon答案 2 :(得分:0)
希望对您有帮助
BOOL sendWndIconToTaskbar(HWND hWnd,HICON hIcon)
{
BOOL ret = TRUE;
ASSERT(hWnd);
if(!::IsWindow(hWnd))
return FALSE;
CWnd* pWnd;
pWnd = pWnd->FromHandle(hWnd);
ASSERT(pWnd);
if(!pWnd)
return FALSE;
if(pWnd->GetParent())
{
if(::SetWindowLong(hWnd,GWL_HWNDPARENT,NULL) == 0)
return FALSE;
}
if(!(pWnd->ModifyStyle(NULL,WS_OVERLAPPEDWINDOW)))
ret = FALSE;
pWnd->SetIcon(hIcon,TRUE);
pWnd->SetIcon(hIcon,FALSE);
return ret;
}
HICON hIconSm = (HICON)LoadImage(NULL, "default.ico", IMAGE_ICON, 32, 32, LR_LOADFROMFILE);
sendWndIconToTaskbar(pOcxDlg->m_hWnd,hIconSm);