MFC编程总结各种控件使用说明 下载本文

MFC各种控件的使用说明

把整数显示为时间格式的方法:

Int minute=5; int sec=5; CString strTime;

strTime.Format(\ GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime);

定时器的使用方法:

在函数BOOL CDingshiqiDlg::OnInitDialog()

{

SetTimer(1,1000,NULL);

}添加语句 SetTimer(1,1000,NULL);定时器1秒钟中断一次. 然后添加消息WM_TIMER对应的消息函数: void CDingshiqiDlg::OnTimer(UINT nIDEvent) { }

播放系统声音的方法:在头文件添加这两句

#include

#pragma comment (lib,\

然后调用函数: PlaySound(\

VC++6.0控件工具箱:

2 图形控件(picture):常用于显示位图(Bitmap)和图标(Icon)

3 静态文本(Static Text):MFC提供了CStatic类支持静态控件。

(1)更改该控件上字体的方法是:该控件的ID为IDC_STATIC1,IDC_STATIC2. CFont * f1; f1 = new CFont; f1 -> CreateFont( 25 , // nHeight 15, // nWidth 0 , // nEscapement 0 , // nOrientation FW_BOLD, // nWeight FALSE , // TRUEbItalic FALSE, // bUnderline

0 , // cStrikeOut DEFAULT_CHARSET, //ANSI_CHARSET nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily _T( \宋体 \)); // lpszFac GetDlgItem(IDC_STATIC1)-> SetFont(f1); GetDlgItem(IDC_STATIC2)-> SetFont(f1); 另一种改变字体大小的方法: 在函数外定义

CStatic m_static; CFont font;

m_static.SubclassDlgItem(IDC_STAT_DIS,this); LOGFONT log;

GetObject(::GetStockObject(DEFAULT_GUI_FONT),sizeof(log),&log); log.lfHeight=300; //改 log.lfWidth=120; //改

log.lfCharSet=GB2312_CHARSET; lstrcpy(log.lfFaceName, _T(\宋体\ font.CreateFontIndirect(&log); m_static.SetFont(&font);

(2) 把整数显示在该控件的方法:IDC_STAT_DIS为控件ID Int minute=5,sec=5; CString strTime;

strTime.Format(\ GetDlgItem(IDC_STAT_DIS)->SetWindowText(strTime); 另外一种显示的方法: CStatic*pst=(CStatic *)GetDlgItem(IDC_STAT_DIS); pst->SetWindowText(\

4 编辑框(Edit Box):MFC提供了CEdit类支持编辑框控件。

(1)获取该控件上数字的方法: int edit_n1=0,edit_n2=0; edit_n1=GetDlgItemInt(IDC_EDIT1);

edit_n2=GetDlgItemInt(IDC_EDIT2); 5 组成框(Group Box):

6 按钮(Button):MFC提供了CButton类支持按钮控件。

(1) 获取按键上的文字看是否与指定的文字相等

CString str1; GetDlgItem(IDC_STOP)->GetWindowText(str1);

(2) if( str1==\暂停\{ GetDlgItem(IDC_STOP)->SetWindowText(\继续\设置按键上显示某文字 } else

GetDlgItem(IDC_STOP)->SetWindowText(\暂停\改变按钮文字上的方法 CFont * f2;

f2 = new CFont;

f2 -> CreateFont( 25 , // nHeight 15, // nWidth

0 , // nEscapement 0 , // nOrientation FW_BOLD, // nWeight FALSE , // TRUEbItalic FALSE, // bUnderline 0 , // cStrikeOut

DEFAULT_CHARSET, //ANSI_CHARSET nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality

DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily _T( \宋体 \)); // lpszFac

GetDlgItem(IDC_STOP)-> SetFont(f2);

(3)该按钮显示灰色与正常的设置方法和判断按钮是否为灰色的方法:

灰色:(CButton *)GetDlgItem(IDC_STOP)->EnableWindow(FALSE);

正常显示:(CButton *)GetDlgItem(IDC_STOP->EnableWindow(TRUE);

判断按钮是否为黑色的方法CButton*cm1=((CButton*)GetDlgItem(IDC_STOP));

if(cm1->IsWindowEnabled())

{}