怎么改变对话框的图标?

xscansou 2006-09-26 03:25:39
怎么改变对话框的图标?
...全文
653 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2006-09-27
  • 打赏
  • 举报
回复
楼上正解,改成你想要的后就可以换掉标题栏,任务栏里显示的图标了
littlepboy 2006-09-27
  • 打赏
  • 举报
回复
如果是在别的进程中,可能要用到楼上说的SendMessage的方法,就不多说了。
如果是在本对话框中,一般只需这么做:
在对话框初始化函数里开始加上:
HICON hIcon = AfxGetApp()->LoadIcon(IDI_ICON);
SetIcon(m_hWnd, TRUE);
SetIcon(m_hWnd, FALSE);
mynamelj 2006-09-27
  • 打赏
  • 举报
回复
SetIcon
xhwu3721 2006-09-27
  • 打赏
  • 举报
回复
在资源里面,加入你所要的icon,然后将名字改为:IDR_MAINFRAME就行了.
三条猫 2006-09-26
  • 打赏
  • 举报
回复
对话框的构造函数里一般有这么一句

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

你只需要传入自己导进资源的图标ID值就可以了.
snowbirdfly 2006-09-26
  • 打赏
  • 举报
回复
也可以通过SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);~~
具体可以参考一下MSDN~~~
Y___Y 2006-09-26
  • 打赏
  • 举报
回复
void CTestDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon
dc.DrawIcon(x, y, m_hIcon);//这儿改变
}
else
{
CDialog::OnPaint();
}
}

15,979

社区成员

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

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