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,如需转载请自行联系原作者



相关文章
|
C# C++
WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件        在上一篇《WPF编游戏系列 之三 物品清单》中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2.2中使用的C#代码过多,其实我在写这些代码时也有同感,的确很繁琐也不好维护。
592 0
|
Android开发 Java API
自定义控件探索之旅一2(笔记)
前言:这是自定义控件探索之旅的第二篇,上一篇主要介绍了安卓自定义控件的基础,这些基础内容主要有Android的坐标系、角度与弧度的换算、安卓的颜色介绍。这一篇我们继续自定义控件的探索之旅。
943 0
|
Android开发
自定义控件探索之旅一1(笔记)
前言:自定义控件,是Android攻城狮进阶的必备技能,是Android应用研发的一门高级艺术,所以接下来的文章主要是学习和探索自定义控件,方便开发使用以及日后查阅。
1155 0
|
开发框架 移动开发