开发者社区> 技术小胖子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

MFC第一课 控件使用技巧

简介:
+关注继续查看

MFC控件使用技巧:Static Text

1)单独设置某个静态文本控件的属性:

颜色,字体大小

解决方案:需要指定一个独特的ID,默认情况下,所有的

静态文本框的ID是一致的


2)设置按钮的文本的时候,使用&可以在文本的标题下的第一个字母带下划线:

把Caption改为&Hello



MFC控件使用技巧:List Control

1)每列内容过长,显示不完整

只有加载数据的情况下,才会出现水平滚动条

解决方案:

可以添加如下一个空的内容项:

m_List.InsertItem(0,NULL);//为了显示进度条 


2)不允许点击修改第一列(当然最多能够让我们改动的也只有他了)

MFC默认情况下可以修改第一列,其他的不允许修改(需要定制DrawItem)

解决方案:

Edit Labels 属性设置为 False


3)报表的形式表示

View 属性设置为 Report


4)注意:不要和列表框控件混淆(英文名: List Box)

中文名:通用列表控件




MFC控件使用技巧:Combo Box

1 AddString 和InsertString的区别

InsertString可以指定一个显示的排列的序号,

所有的字符串根据序号排列,AddString只是将

字符串添加到下拉列表,至于该字符串的位置

不得而知,而且添加字符串的时候,会影响以前

的序号。


InsertString使用情形:需要默认指定某一个序号

的字符串显示,搭配SetCurSel,将字符串显示出来


2)是否允许编辑

Type 属性设置为Drop List 不允许编辑

Type 属性设置为DropDown 允许编辑


3)显示下拉内容

ShowDropDown


4)GetLBText和GetWindowText区别

GetLBText()函数.该函数为组合框成员函数其原型为:

void GetLBText( int nIndex, CString &rString ).

参数说明:nIndex为列表框中数据的索引值, rString 为字符串,

函数说明:把索引号为nIndex的数据放到rString变量中.


GetWindowText()该函数获得显示的文本内容.每个控件都有.不能显示的内容无法获得


例子:

CComboBox* combo= ( CComboBox*)GetDlgItem(ID_COMBO1);

int nIndex = combo->GetCurSel();

// 获取当前选中的项目ID。

CString strItem;

combo->GetLBText( nIndex, strItem); // 就是得到选中的字符串了。



MFC控件使用技巧:设置BUTTON的图标

说明:IDI_ICON1是ICON ID ,IDC_BUTTON1是BUTTON ID

 环境:VS2005 MFC 

解决方案:

  HICON hIcon;

  hIcon=AfxGetApp()->LoadIcon(IDI_ICON1);

  GetDlgItem(IDC_BUTTON1)->ModifyStyle(0, BS_ICON, 0);

  GetDlgItem(IDC_BUTTON1)->SendMessage(BM_SETIMAGE,  (WPARAM)IMAGE_ICON, (LPARAM)hIcon );


错误的方案:

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

  GetDlgItem(IDC_BUTTON1)->SetIcon(m_hIcon, TRUE);

  GetDlgItem(IDC_BUTTON1)->SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)),TRUE); 



VS2003版本之后,就不会在类向导中出现该函数了

只需要手动添加该虚函数即可

类头文件中声明如下:

virtual BOOL OnInitDialog();

类cpp文件中定义如下:

BOOL CEditDlg::OnInitDialog()

{

  CDialog::OnInitDialog();

  //TODO添加对话框控件的初始化代码


}



     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/1955671,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用ESC的体验
第一次使用ESC云服务器
74 0
关于使用ESC的体验
轻量、便捷、廉价是云服务器的基本特性,对于开发者是非常友好的,传统的硬件服务器,虽然性能优秀,但是费用相当昂贵,特别对于我们这种学生,是无法承担的。所以选择云服务器作为网站的部署是相当理智的,至少我目前是这样。
57 0
UWP 使用Telerik Chart控件
原文:UWP 使用Telerik Chart控件 Telerik开发的chart功能异常强大 用户可以自行在商店搜索“UI for uwp demos”。     下面我就结合以下我的软件,来说明一下饼状图的实现。
1211 0
关于PLC高速计数器使用
今天去面试问我高速计数器,因为没用过,所以直接说--不会.但是自己感觉自己自学电气,说不会太丢人了,所以今天学了PLC的高速计数器.虽然没有书,但是有度娘,还有现成的PLC设备实际检验程序,更有鹏哥和卢奇这两位老司机---这里有西门子PLC S7 200手册http://pan.
887 0
VC对话框全屏显示及相应控件位置改变
一、简单对话框全屏显示方法 在OnInitDialog()中任意加入: 1、ModifyStyle(WS_CAPTION,0,0); //如果不想去掉标题栏,去掉该句。 SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0); 2、ShowWindow(SW_SHOWMAXIMIZED); 二、复杂一点的对话框全屏显示方法,随屏幕的分辩率而调节 v
1632 0
mfc在控制多显示器的使用方法
一、取得显示器的个数 GetSystemMetrics(SM_CMONITORS); 二、根据窗口句柄、矩形区域、点取得显示器的句柄 MonitorFromRect( lprc, MONITOR_DEFAULTTONULL ) MonitorFromPoint( pt, MONITOR_DE...
1079 0
meego中css主题文件的使用方法
转载时请注明出处和作者联系方式文章出处:http://blog.csdn.net/jack0106作者联系方式:冯牮 fengjian0106@yahoo.com.cn1. qtwidget里面有stylesheet(CSS)的概念,而原始的qtgraphicsview里面,并没有stylesheet概念,到了mtf里面,又引入了stylesheet,但是没有专门的文档进行介绍,我只能参照qtwidget里面关于stylesheet的介绍,在猜测验证的基础上,做出一些总结。
813 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载