如何给自己的vc的button添加上图标

如何给自己的vc的button添加上图标,第1张

能不能在按钮上显示个位图呢。肯定可以的,实现办法如下:

1.新建一个单文档工程,需要找到一张格式为BMP的位图。

2.然后再VC6.0下Insert -Resourse-BitMap-Import。文件类型选着所有文件,然后找到你要插入的位图(一般放在工程目录的res目录下)。插入进去后要重命名,命名要用双引号加起来。例如NQU

3.在你要插入的对话框所对应的类下新建一个CBitmapButton类型的变量。例如CBitmapButton BtnNq

4.在构造函数中载入你要插入的图标,例如

if(!BtnNq.LoadBitmaps(_T(NQU),NULL,NULL,NULL)) //抬起、按下、选中和禁止{

TRACE(Failed to load bitmap for NQ\n)

AfxThrowResourceException()}

5.在OnInitDialog()函数中加载进入。例如

//Op键的图标

VERIFY(BtnOp.SubclassDlgItem(IDC_BTNOP,this))//为每个按钮控件指定特定的位图

BtnOp.SizeToContent() //使按钮尺寸和位图尺寸相同

这样就完成了!

如果设置工程为console application,则默认是没有图标的,比较难看。但又不值得为此而建一个MFC工程写一个简单的C++程序。

添加图标的方法如下:

打开clock.dsw文件=>

插入资源=>

点击对话框左边的Icon>点击右边的按钮新建”。(或者选导入,导入自己在其他程序提取出的图标 )自己画图,也可以截图再粘贴上去=>

画好后点击文件=>

S保存为=>

自动显示Script1.rc=>

点“保存

又点击:工程=>

添加剂到工程=>

文件=>

选定Script1.rc=>

ok =>

 这时候重新构建整个程序,就可以了。 再打开debug文件夹看看,如果新图标出现了,就说明添加新图标成功了

你好:利用SetMenuItemBitmaps这个函数可以做到 void CPopupMenuDlg::OnLButtonDown(UINT nFlags, CPoint point)

{

// TODO: 在此添加消息处理程序代码和/或调用默认值

CMenu menu//菜单

CMenu* pPopupMenu//菜单指针

CBitmap m_bitmap1//位图

menu.LoadMenu(IDR_MENU1)//加载ID为IDR_MENU1的菜单

m_bitmap1.LoadBitmap(IDB_BITMAP1)//加载ID为IDB_BITMAP1的位图 pPopupMenu = menu.GetSubMenu(0) //获取d出菜单的第一层子菜单的类指针//为菜单的第一和第三项设置图标

pPopupMenu->SetMenuItemBitmaps(0,MF_BYPOSITION,&m_bitmap1,&m_bitmap1)

pPopupMenu->SetMenuItemBitmaps(2,MF_BYPOSITION,&m_bitmap1,&m_bitmap1)ClientToScreen(&point)//将鼠标单击处的坐标转换为屏幕坐标//d出菜单函数,第一个参数表示快捷菜单的下边界与由参数y指定的坐标对齐 //第二和第三个为x、y坐标,第四个表示拥有此菜单的窗口句柄,//第五个默认为NULL,表示当用户在菜单以外的区域按鼠标键时,菜单会消失pPopupMenu->TrackPopupMenu(TPM_BOTTOMALIGN,point.x,point.y,this,NULL)CDialog::OnLButtonDown(nFlags, point)

} 实例连接是:http://www.cnblogs.com/anhuizhxd/archive/2009/06/20/cpopupmenu.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11544788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存