很弱的问题:关于图标的导入 我找到一个不错的图标,想把它作为程序的图标,可是我不知道怎么做,把它名字改成IDR_MAINFRAME好像不行,又找不到拷贝的办法,那位高手指点一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 import into the rc thenCTRL + C, CTRL + P 先删掉原来的IDR_MAINFRAME图标,在资源里import进来你的图标,然后将起改名为IDR_MAINFRAME 换图标SendMessage(WM_SETICON,ICON_SMALL,(LPArAM)stFileInfo.hicon); 在Win32SDK编程中,将窗口类的hIconSm设置为LoadIcon(窗口类的hInstance句柄,MAKEINTRESOURCE(图标ID)),在MFC编程中,应该在CmainFrame类的OnCreate函数中调用SetIcon()函数设置程序图标! 先删掉原来的IDR_MAINFRAME图标,在资源里import进来你的图标,然后将起改名为IDR_MAINFRAME如果你想在对话框上加上加图标的话可以这样做在对话框的类内定义HICON m_hIcon;然后在构造函数中赋值m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);接着重载OnInitDialog加入SetIcon(m_hIcon,TRUE);SetIcon(m_hIcon,FALSE);就可以了 为基于文档视图的窗口改变图标: 方法一单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后把它删除掉! 从Developer Studio的Insert菜单中选择Resource,然后选择Icon,导入(Import)一个漂亮的的图标。 改变新图标ID改为AFX_IDI_STD_FRAME(SDI应用程序)或改为AFX_IDI_STD_MDIFRAME(MDI应用程序)。AFX_IDI_STD_MDIFRAME和AFX_IDI_STD_FRAME这两个资源ID是MFC中预定义了的。 编译、连接、运行 ,看看是不是就是你指定的图标。 方法二 动态地改变窗口的图标 在程序运行时动态地改变框架窗口图标的原理是使用函数 CWnd::SendMessage()向窗口发送WM_SETICON消息。其方法是: HICON hIcon=AfxGetApp()- >LoadIcon(IDI_ICON1);ASSERT(hIcon);AfxGetMainWnd()- >SendMessage(WM_SETICON,TRUE,(LPARAM)hIcon);---- 以上叙述中的AfxGetMainWnd()是获得主框架窗口的窗口句柄,所以改变的是主框架窗口(包括MDI和SDI)的图标。 为基于对话框的窗口改变图标:基于对话框的程序改变其图标很简单.首先为插入的图标取名(IDI_ICON1);在对话框头文件定义 HICON m_hIcon;在下面函数中添加如下代码:CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/) : CDialog(SetPassword::IDD, pParent){ //{{AFX_DATA_INIT(mydialog)m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1); //}}AFX_DATA_INIT} 在BOOL CMyDialog::OnInitDialog() { CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); //设置大图标_对话框 SetIcon(m_hIcon, FALSE); //设置小图标_对话框…………………………………………………………………………………………………………………………………………..} 求助 CReBar 更改背景 MFC里消息响应的顺序! 刚学会做界面,接下来要如何学数据库才能少走弯路? 谁知道“虚拟键码对照表”,哪里能下载! CFile::Rname 问题 决定放弃vc 在对话框中有两个Edit Box控件,我咋知道光标离开这两个控件? Com接口如何使用IStream 有关输入法的高手请进! 《程序员大本营2000》D版面市,大家怎么看 有关vc中的头文件问题! 有谁知道Activeskin怎么用?
CTRL + C, CTRL + P
SendMessage(WM_SETICON,ICON_SMALL,(LPArAM)stFileInfo.hicon);
如果你想在对话框上加上加图标的话可以这样做
在对话框的类内定义
HICON m_hIcon;
然后在构造函数中赋值
m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);
接着重载OnInitDialog
加入
SetIcon(m_hIcon,TRUE);
SetIcon(m_hIcon,FALSE);
就可以了
单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后把它删除掉! 从Developer Studio的Insert菜单中选择Resource,然后选择Icon,导入(Import)一个漂亮的的图标。 改变新图标ID改为AFX_IDI_STD_FRAME(SDI应用程序)或改为AFX_IDI_STD_MDIFRAME(MDI应用程序)。AFX_IDI_STD_MDIFRAME和AFX_IDI_STD_FRAME这两个资源ID是MFC中预定义了的。 编译、连接、运行 ,看看是不是就是你指定的图标。
方法二
动态地改变窗口的图标
在程序运行时动态地改变框架窗口图标的原理是使用函数
CWnd::SendMessage()向窗口发送WM_SETICON消息。其方法是:
HICON hIcon=AfxGetApp()- >LoadIcon(IDI_ICON1);
ASSERT(hIcon);
AfxGetMainWnd()- >SendMessage(WM_SETICON,TRUE,(LPARAM)hIcon);
---- 以上叙述中的AfxGetMainWnd()是获得主框架窗口的窗口句柄,所以改变的是主框
架窗口(包括MDI和SDI)的图标。 为基于对话框的窗口改变图标:
基于对话框的程序改变其图标很简单.
首先为插入的图标取名(IDI_ICON1);在对话框头文件定义 HICON m_hIcon;
在下面函数中添加如下代码:
CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/)
: CDialog(SetPassword::IDD, pParent)
{
//{{AFX_DATA_INIT(mydialog)
m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON1);
//}}AFX_DATA_INIT
}
在BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog(); SetIcon(m_hIcon, TRUE); //设置大图标_对话框
SetIcon(m_hIcon, FALSE); //设置小图标_对话框
……………………………………………………………………
……………………………………………………………………..
}