MFC-SetWindowPos-位图按钮-扩展对话框-更改Logo
来源:互联网 发布:州立大学 知乎 编辑:程序博客网 时间:2024/06/06 01:17
1.对话弹出框位置
在主界面点击按钮,产生新的对话框,默认这个对话框是在主界面中间,要对弹出位置进行调整,在OnInitDialog()中调用SetWindowPos函数,原型为:
BOOL SetWindowPos(HWND hWnd, const CWnd* pWndInsertAfter, int x, int y,int cx, int cy, UINT nFlags),最后一个参数不能取SWP_NOMOVE(这个参数将会会忽略x,y),x,y设定对话框弹出位置(坐标为相对于屏幕左上角),若要设置相对于主菜单的位置,可采用如下代码:
CWnd* pWnd = AfxGetMainWnd();//获得主对话框句柄pWnd->GetWindowRect(rectMain);//recMain为CRect类型变量,读取主对话框位置位置SetWindowPos(NULL,rectMain.left,rectMain.top+30,rectsmall.Width(),rectsmall.Height(),SWP_NOZORDER);//在主对话框坐标基础上加减坐标即可
movewindow函数也可以实现这个功能,二者区别如下链接:
http://blog.csdn.net/happymawolf/article/details/6757928
2.扩展对话框,参考孙鑫的VC++深入详解第七章P248
3.设置按钮位图
3.1调整按钮Owner Draw属性为TRUE
3.2导入按钮位图
3.3为按钮添加CBitmapButton类型变量,(不知道为什么用VS2012不能用类向导添加这个类型的变量,只能先添加CButton类型的变量,手动更改,注意除了头文件,DodataExchange函数里也要更改,Cbutton类型的变量不能加载位图)
3.4加载位图
在OnInitDialog()函数中添加以下代码
m_btButton.LoadBitmaps(IDB_BITMAP1,IDB_BITMAP2,IDB_BITMAP3,IDB_BITMAP4); //载入 m_btButton.SizeToContent(); //使按钮适应图片大小
参考链接:
http://blog.csdn.net/akof1314/article/details/4951836/
这种写法按钮将会跟着图片大小走,为了准备好适当大小的图片,可以采用如下代码:
将下列代码放在主对话框相应按钮的响应函数里在下一步设置断点,这样可以观察到按钮左右上下坐标,相减即可得到按钮大小(单位是像素)
CRect test;GetDlgItem(IDC_DRIVER_SEPARATOR)->GetWindowRect(&test);
4.更改应用程序Logo
参考链接如下:
http://www.chinaitlab.com/c/vc/944108.html
- MFC-SetWindowPos-位图按钮-扩展对话框-更改Logo
- MFC的对话框中创建位图按钮
- MFC对话框置顶SetWindowPos()用法
- MFC 位图 按钮
- MFC中位图按钮
- MFC添加位图按钮
- MFC对话框上显示位图
- MFC 给按钮帖位图
- MFC 如何添加位图按钮
- MFC按钮上添加位图
- MFC 按钮弹出对话框
- MFC 对话框 关闭按钮
- MFC对话框置顶 SetWindowPos()的用法(三)
- MFC 设置弹出对话框的位置、大小和风格 SetWindowPos
- MFC对话框置顶 SetWindowPos()的用法(三)
- MFC对话框置顶 SetWindowPos()的用法(三)
- 对话框的基本美化(背景位图和位图按钮)
- MFC添加位图按钮,MFC添加图标按钮
- 【Java基础提高】深入分析IntHashMap(三)
- 【人月神话】读书笔记第7章 为什么巴比伦塔会失败
- 两个链表的第一个公共结点
- shell变量数学运算
- tableView 详细使用方法
- MFC-SetWindowPos-位图按钮-扩展对话框-更改Logo
- 读书笔记 -- 004_数据预处理_数据规范化
- 怎么在 Stack Overflow 里提问题的时候沾上自己的代码
- 数字在排序数组中出现的次数
- Mallet 安装配置
- 二叉树的深度
- leetcode -- Burst Balloons -- 重点dp
- Android菜鸟实训的第二天--视图容器组件Android中的布局的讲解。
- 设计页面布局