C++ MFC各控件代码练习例子

void CMy122Dlg::OnButton1open() { m_OPEN.EnableWindow(false ); //EnableWindow()方法可以使按钮失效 MessageBox("已打开"); m_CLOSE.EnableWindow(true ); }

void CComboboxDlg::Onmony() { UpdateData(TRUE); CString str,strmoy; strmoy.Format("%d",m_money); str="你确定要将"; str+=strmoy; str+="元打入对方账户?"; if (IDOK==MessageBox(str,"提示",MB_ICONQUESTION|MB_OKCANCEL)) { MessageBox("付款成功","提示",MB_ICONASTERISK); } }

控制显示的文本利用成员函数SetWindowText/GetWindowText 用于设置/得到当前显示的文本。 通过GetLimitText/SetLimitText 可以得到/设置在输入框中输入的字符数量。 输入框几种常用的消息映射宏:

ON_EN_CHANGE 输入框中文字更新后产生 ON_EN_ERRSPACE 输入框无法分配内存时产生

ON_EN_KILLFOCUS / ON_EN_SETFOCUS 在输入框失去/得到输入焦点时产生

在创建滚动条后需要调用void SetScrollRange( int nMinPos, int nMaxPos, BOOL bRedraw = TRUE )设置滚动范围, int GetScrollPos( )/int SetScrollPos( )用来得到和设置当前滚动条的位置。 void ShowScrollBar( BOOL bShow = TRUE );用来显示/隐藏滚动条。

BOOL EnableScrollBar( UINT nArrowFlags = ESB_ENABLE_BOTH )用来设置滚动条上箭头是否为允许状态。nArrowFlags 可取以下值:

ESB_ENABLE_BOTH 两个箭头都为允许状态 ES_DISABLE_LTUP 上/左箭头为禁止状态 MessageBox("这个是自定义的消息!!!" ,"自定义消息对话框!!!",MB_ICONINFORMATION); MB_ABORTRETRYIGNORE 显示终止重试或忽然按钮 MB_OK 显示确定按钮 MB_RETRYCANCEL 显示确定或取消按钮 MB_YESNO 显示重试或取消按钮 MB_YESNOCANCEL 显示是或否按钮 MB_ICONQUESTION 带问号图标 MB_ICONHAND 、MB_ICONSTOP 、MB_ICONERROR 三种都是带叉号图标 MB_ICONEXCLAMA TION 、MB_ICONW ARNING 两种都是带感叹号图标 MB_ICONASTERISK MB_ICONINFORMA TION 带信息号图标 AfxMessageBox()函数缺点就无法设置消息对话框的标,提示消息框的标题与工程名称相同, 优点:就是在动态链接库工程或其它工程中,可以直接用它来显示消息提示对话框。 MessageBox()函数必须用于一个窗口对象,没有窗口对象,就无法调用MessageBox()函数

ESB_DISABLE_BOTH 两个箭头都为禁止状态

SB_TOP/SB_BOTTOM 已滚动到顶/底部

SB_LINEUP/SB_LINEDOWN 向上/下滚动一行

SB_PAGEDOWN/SB_PAGEUP 向上/下滚动一页

SB_THUMBPOSITION/SB_THUMBTRACK 滚动条拖动到某一位置,参数nPos指明当前位置(参数nPos在其它的情况下是无效的)

SB_ENDSCROLL 滚动条拖动完成(用户松开鼠标)

注意:如果出现以上功能不好使的情况,可以关闭当前的工程,然后在工程目录下删除扩展名为“.ncb”的文件,然后重新打开工程,Visual C++会重建一个“.ncb”文件,此时完全取词功能将恢复正常。

void C_bj::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

// TODO: Add your message handler code here and/or call default

void C_bj::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

SCROLLINFO scrollinfo;

SetScrollRange (SB_VERT, 0, 850, TRUE);//这个就是设置你的滚动条的范围

GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

switch (nSBCode)

{

case SB_BOTTOM:

ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax));

scrollinfo.nPos = scrollinfo.nMax;

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

case SB_TOP:

ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin));

scrollinfo.nPos = scrollinfo.nMin;

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

case SB_LINEUP:

scrollinfo.nPos -= 20;

if (scrollinfo.nPos

{

scrollinfo.nPos = scrollinfo.nMin;

break;

}

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

ScrollWindow(0,20);

break;

case SB_LINEDOWN:

scrollinfo.nPos += 20;

if (scrollinfo.nPos>scrollinfo.nMax)

{

scrollinfo.nPos = scrollinfo.nMax;

break;

}

ScrollWindow(0,-20);

break;

case SB_PAGEUP:

scrollinfo.nPos -= 20;

if (scrollinfo.nPos

{

scrollinfo.nPos = scrollinfo.nMin;

break;

}

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

ScrollWindow(0,20);

break;

case SB_PAGEDOWN:

scrollinfo.nPos += 20;

if (scrollinfo.nPos>scrollinfo.nMax)

{

scrollinfo.nPos = scrollinfo.nMax;

break;

}

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

ScrollWindow(0,-20);

break;

case SB_ENDSCROLL:

// MessageBox("SB_ENDSCROLL");

break;

case SB_THUMBPOSITION:

// ScrollWindow(0,(scrollinfo.nPos-nPos));

// scrollinfo.nPos = nPos;

// SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

case SB_THUMBTRACK:

ScrollWindow(0,(scrollinfo.nPos-nPos));

scrollinfo.nPos = nPos;

SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

break;

}

CDialog::OnVScroll(nSBCode, nPos, pScrollBar);

}

void CTestScrollDlg::OnSize(UINT nType, int cx, int cy)

{

SCROLLINFO scrollinfo;

SetScrollRange (SB_VERT, 0, 600, TRUE);//这个就是设置你的滚动条的范围

GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);

scrollinfo.nPage=400;//页的大小,

SetScrollInfo(SB_VERT,&scrollinfo,SIF_PAGE);

CDialog::OnSize(nType, cx, cy);

// TODO: Add your message handler code here

}

void CFirstProjectDlg::OnOK()

{

if (!IsWindow(m_Book.m_hWnd)) //是否关联了对话框

{

m_Book.Create(IDD_BOOKDLG, NULL); //创建对话框

}

m_Book.ShowWindow(SW_SHOW); //显示对话框

}

void CMy122Dlg::OnButton2close()

{

m_CLOSE.EnableWindow(false);

MessageBox("已关闭");

m_OPEN.EnableWindow(true);

}

void CFirstProjectDlg::OnOK()

{

if (!IsWindow(m_Book.m_hWnd)) //是否关联了对话框

{

m_Book.Create(IDD_BOOKDLG, NULL); //创建对话框

}

m_Book.ShowWindow(SW_SHOW); //显示对话框

}

1.自定义一个消息;------>

2.申明一个涵数---------------->

3.把函数设成消息响应函数--------------->

4.发送消息处理函数#define MESSAGE1 WM_USER+1 //windows定义好从下一个开始如有多个+1或+2 前面都是大写。

void CTtDlg::f1() //右键Add Member Function添加成员函数void f1

{

MessageBox("这个是自定义的消息!!!" ,"自定义消息对话框!!!");

}

BEGIN_MESSAGE_MAP(CTtDlg, CDialog)

(//ON_WM_SYSCOMMAND() //<--------------------3.捕获用户所触发的事件)ON_MESSAGE(MESSGAE1,f1) //3.把函数设成消息响应函数MESSGAE1用f1去响应

void CTtDlg::OnButton3() //用按钮来触发

{

this->PostMessage(MESSAGE1); //处理消息

}

通用打开保存对话框

void CFileDialogdlgDlg::OnButton1() //第一种方式打开用编辑框显示 { CFileDialog dlg(true ); //true 为真时打开,false 为假时为保存 if (dlg.DoModal()==IDOK)

{

m_path=dlg.GetPathName();

UpdateData(false );

}

}

void CFileDialogdlgDlg::OnButton2() //{ CFileDialog dlg(true ); if (dlg.DoModal()==IDOK) { m_spath=dlg.GetPathName(); m_filename=dlg.GetFileName(); UpdateData(false ); } } CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONL Y|OFN_OVERWRITEPROMPT, "All Files(*.TXT)|*.TXT||",AfxGetMainWnd()); //构造文件打开对话框//第三种方式打开用文本显示 CString strPath,strText=""; //声明变量 if (dlg.DoModal() == IDOK) //判断是否按下"打开"按钮 {

/*m_path=dlg.GetPathName();

m_pathname=dlg.GetFileName();

UpdateData(false);*/

strPath = dlg.GetPathName(); //获得文件路径 m_controtfilename.SetWindowText(strpath); //显示文件路径SetWindowText 用于设置窗口文本。 CFile file(strPath,CFile::modeRead); //打开文件 char read[10000]; //声明字符数组 file.Read(read,10000); //读取文件内容 for (int i=0;i

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void CComboboxDlg::OnButton10()

{

CColorDialog coldlg;//实例化一个颜色对话框类,要使用通用对话框类必须包含头文件#include if (coldlg.DoModal()==IDOK)

{ // //获取当前用户所选择的颜色信息,COLORREF是一个32位值,用于指定一个RBG颜色COLORREF cl=coldlg.GetColor();

m_nRV ALUE=GetRValue(cl); //GetGValue(cl)是从COLORREF中提取RGB颜色红色的数值

m_nGV ALUE=GetGValue(cl);

m_nBV ALUE=GetBValue(cl);

UpdateData(FALSE);

}

}

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

void CColorDialogDlg::OnColor()

{

CColorDialog dlg(m_Color);//创建颜色对话框

if (dlg.DoModal()==IDOK) //判断是否按下"确定"按钮

{

m_Color = dlg.GetColor(); //获取用户选择的颜色

Invalidate(); //重绘窗口

}

}

HBRUSH CColorDialogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if(nCtlColor == CTLCOLOR_STA TIC) //判断是否为静态文本控件

pDC->SetBkColor(m_Color); //设置文本的背景颜色

return hbr;

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%保存

CButton * btn =(CButton *)GetDlgItem(IDC_BUTTON1); //定义指针获取要加载图标的按钮ID btn->ModifyStyle(0,BS_ICON); //修改样式对象名。函数成员名(赋值)

btn->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON3)); //加载图标

第二种方法

m_btnfind1.SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));加载图标

m_Imagelist.add(LoadIcon(AfxGetResourceHandle(),MAKINTRERESOURCE(IDI_ICON1))

void CComboboxDlg::OnButton7() ///加载打开图片

{

CFileDialog fldlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"位图

(*.bmp)||");

if (fldlg.DoModal()==IDOK)

{

CString BMPname;

BMPname=fldlg.GetPathName();

HBITMAP hOldBmp=m_Bmp.SetBitmap((HBITMAP)LoadImage(

NULL,BMPname,IMAGE_BITMAP,0,0,LR_LOADFROMFILE)); //中间0,0代表要设定图片大小

}

}

HBRUSH CSIP::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

CBitmap m_BKGround; //加载背景图片

m_BKGround.LoadBitmap(IDB_BITMAP7);

if (nCtlColor==CTLCOLOR_DLG)

{

CBrush m_Brush(&m_BKGround);

CRect rect;

GetClientRect(rect);

pDC->SelectObject(&m_Brush); //m_Brush前面不加引用会引起系统漰溃;//选中画刷

pDC->FillRect(rect,&m_Brush); //填空客户区域

return m_Brush;

}

if (nCtlColor==CTLCOLOR_STATIC) //STATIC

{

//pDC->SetBkMode(TRANSPARENT); //pDC->SetBkMode(RGB(29,118,60)); TRANSPARENT

//设置背景透明

pDC->SetBkColor(RGB(20,255,85)); //CLR_NONE

pDC->SetTextColor(RGB(255,80,0)); //255,80,155 设置文本颜色

}

return hbr; 选窗口ID对话框,再选WM_CTLCOLOR在编辑模式写以上代码,可更改静态文本的颜色

}

extern CString struu;

CBitmap bitmap;

CStatic *pwnd = (CStatic*)GetDlgItem(IDC_STATIC1);

CString stra,strb;

strb="CALC\\res\\jishuziliao\\标准分类\\D2000\\AK材料.bmp";

stra=struu;

stra+=strb;

pwnd->SetBitmap((HBITMAP)::LoadImage(NULL,_T(stra),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));

//********************************************************************************************************* *****************

CString stra,strb;

strb="CALC\\res\\buttonbmp\\tongyontubiao\\计算器.bmp";

stra=struu;

stra+=strb;

m_jisuan.SetBitmaps((HBITMAP)LoadImage(AfxGetInstanceHandle(),_T(stra),IMAGE_BITMAP,0,0,LR_LOADFROMFILE| LR_CREATEDIBSECTION), RGB(0, 255, 0));

CString stra1,strb1;

strb1="CALC\\res\\buttonbmp\\tongyontubiao\\归零.bmp";

stra1=struu;

stra1+=strb1;

m_guiling.SetBitmaps((HBITMAP)LoadImage(AfxGetInstanceHandle(),_T(stra1),IMAGE_BITMAP,0,0,LR_LOADFROMFI LE|LR_CREATEDIBSECTION), RGB(0, 255, 0));

CString stra2,strb2;

strb2="CALC\\res\\buttonbmp\\pinmiantuxing\\gongshitubiao\\yuanzhuitigs1.bmp";

stra2=struu;

stra2+=strb2;

m_gongshi.SetBitmaps((HBITMAP)LoadImage(AfxGetInstanceHandle(),_T(stra2),IMAGE_BITMAP,0,0,LR_LOADFROMFI LE|LR_CREATEDIBSECTION), RGB(0, 255, 0));

CString stra3,strb3;

strb3="CALC\\res\\buttonbmp\\pinmiantuxing\\gongshitubiao\\yuanzhuitigs1.bmp";

stra3=struu;

stra3+=strb3;

m_gs3.SetBitmaps((HBITMAP)LoadImage(AfxGetInstanceHandle(),_T(stra3),IMAGE_BITMAP,0,0,LR_LOADFROMFILE| LR_CREATEDIBSECTION), RGB(0, 255, 0));

//********************************************************************************************************* *****************

CString stra,strb;

strb="CALC\\res\\chuanpintuxing\\bwg.bmp";

stra=struu;

stra+=strb;

HBITMAP hbmp = ((HBITMAP)::LoadImage(NULL,_T(stra),IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION | LR_DEFAULTSIZE | LR_LOADFROMFILE));

void CFileDialogdlgDlg::OnButton4()

{

CFileDialog dlg(FALSE,NULL,NULL,OFN_HIDEREADONL Y|OFN_OVERWRITEPROMPT,

"All Files(*.TXT)|*.TXT||",AfxGetMainWnd()); //构造文件另存为对话框

CString strpath,strtext=""; //声明变量

char write[10000]; //声明字符数组

if (dlg.DoModal() ==IDOK) //判断是否按下"保存"按钮

{

strpath=dlg.GetPathName(); //获得文件保存路径

if (strpath.Right(4)!=".TXT") //判断文件扩展名

{

strpath +=".TXT"; //设置文件扩展名

}

m_controlspath.SetWindowText(strpath); //显示文件路径

CFile file(_T(strpath),CFile::modeCreate|CFile::modeReadWrite); //创建文件

m_controleditfile.GetWindowText(strtext); //获得编辑框中内容

strcpy(write,strtext); //将字符串拷贝到字符数组中sttcpy(a,b)是将字符数组b复制到a字符数组中。

file.Write(write,strtext.GetLength()); //向文件中写入数据

file.Close(); //关闭文件

}

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void CComboboxDlg::OnButton12()

{

CFontDialog dlgfon;

if (dlgfon.DoModal()==IDOK)

{

LOGFONT lfg; //用来保存当前字体信息的结构体不包括颜色,所以字体颜色为黑色

dlgfon.GetCurrentFont(&lfg); //把当前字体信息存入lfg中

CFont cft; //实例化一个字体类,因为设置字体时只能通过CFont类传递cft.CreateFontIndirect(&lfg); //将lfg中的字体信息导入cft中

GetDlgItem(IDC_STfont)->SetFont(&cft,TRUE); //得到静态文本框,调用CWND方法设置其字体,TRUE代表重绘}

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void CMy122Dlg::OnOK()

{

CDialog::OnOK();

}

void CMy122Dlg::OnCancel()

{

CDialog::OnCancel();

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void CDylDlg::OnButton3()

{

this->SetWindowText("图书管理系统"); //设置对话框Caption标题属性名字

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void CYuDlg::OnButton1() //方法一用值

{

UpdateData(true); //把控件值赋给关联变量

CString str;

str += "用户名为:";

if( m_T1=="杨慧") //m_T1为文本框成员变量名,值类型为CString字符串按CTRL+W

{

MessageBox("用户名正确");

}

else

{

MessageBox("用户名不对,请重输");

}

str += "密码为:";

str += m_T2;

MessageBox(str); //把关联变量值连接到str里

}

void CYuDlg::OnButton1() //方法二用控件无UpdateData(true);因为是控件不是值

{

CString str,edc1,edc2;

m_ed1c1.GetWindowText(edc1); //m_ed1c1为文本框成员变量名,控件类型为CEDIT按CTRL+W

m_ed2c2.GetWindowText(edc2);

str += "用户名为:";

if( edc1=="杨慧")

{

str +=edc1;

MessageBox("用户名正确"); //MessageBox是消息框AfxMessageBox带有一个感叹号的警告消息框

}

else

{

AfxMessageBox("用户名不对,请重输");

}

str += "密码为:";

if (edc2=="123456")

{

str += edc2;

MessageBox("密码正确");

}

else

{

AfxMessageBox("密码不对,请重输"); //MessageBox是消息框AfxMessageBox带有一个感叹号的警告消息框}

MessageBox(str);

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 静态文本

HBRUSH CComboboxDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

{

HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

if (nCtlColor==CTLCOLOR_STATIC)

{

pDC->SetTextColor(RGB(255,100,255));

}

return hbr;

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cbtton按钮

CButton * btn =(CButton *)GetDlgItem(IDC_BUTTON1); //定义指针获取要加载图标的按钮ID btn->ModifyStyle(0,BS_ICON); //修改样式对象名。函数成员名(赋值)

btn->SetIcon(AfxGetApp()->LoadIcon(IDI_ICON3)); //加载图标

第二种方法

m_btnfind1.SetIcon(LoadIcon(AfxGetResourceHandle(),MAKEINTRESOURCE(IDI_ICON1)));加载图标

m_Imagelist.add(LoadIcon(AfxGetResourceHandle(),MAKINTRERESOURCE(IDI_ICON1))),void CShowGifDlg::OnBtLoad()

{

CFileDialog flDlg(TRUE, "", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,

"GIF动画|*.gif||"); //定义文件打开对话框

if (flDlg.DoModal()==IDOK)

{

CString szGif = flDlg.GetPathName(); //获取文件名称

m_GifName.SetWindowText(szGif); //在编辑框中显示文件名称

m_Gif.LoadImage(szGif); //在OCX控件中显示GIF动画

}

CXingqi1Dlg::CXingqi1Dlg(CWnd* pParent /*=NULL*/)

: CDialog(CXingqi1Dlg::IDD, pParent)

{ //m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

m_hIcon = AfxGetApp()->LoadIcon(IDI_ICON3); //4)删除原图标资源IDR_MAINFRAME,将新的图标资源ID修改为IDR_MAINFRAME。此ID是更改系统窗口图标ICON

加载图标需要在初始化中定义和设置

背景图片的加载,用图片控件拖动,在插入一张BMP图片,在设置位图选取这个加载的图片。

选窗口ID对话框,再选WM_CTLCOLOR在编辑模式写以上代码,可更改静态文本的颜色

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 单选按钮

void CTtDlg::OnButton1()

{

UpdateData(true);

CString str = "你选择的职业是:"; //初始值

switch(m_RD1) //m_RD1是单选按钮成员变量名,值类型int按CTRL+W

{

case 0: str +="老师";

break;

case 1: str +="工程师";

break;

case 2: str +="设计师";

break;

default:str +="您还没有选择您的职业";

break;

}

MessageBox(str);

}

void CJisuanqiDlg::OnButton1()

{

UpdateData(true);

switch(m_rad)

{

case 0 :

UpdateData(true);

m_ed3 =m_ed1 + m_ed2;

UpdateData(false);

break;

case 1:

UpdateData(true);

m_ed3 =m_ed1 - m_ed2;

UpdateData(false);

break;

case 2:

UpdateData(true);

m_ed3 =m_ed1 * m_ed2;

UpdateData(false);

break;

case 3:

UpdateData(true);

m_ed3 =m_ed1 / m_ed2;

UpdateData(false);

break;

break;

}

void CJisuanqiDlg::OnRadio1() {

m_rad = 1;

}

void CJisuanqiDlg::OnRadio2() {

m_rad = 2;

}

void CJisuanqiDlg::OnRadio3() {

m_rad = 3;

}

void CJisuanqiDlg::OnRadio4() {

m_rad = 4;

}

if (m_rad ==1)

{

UpdateData(true);

m_ed3 =m_ed1 + m_ed2;

UpdateData(false);

}

if (m_rad ==2)

{

UpdateData(true);

m_ed3 =m_ed1 - m_ed2;

UpdateData(false);

}

if (m_rad ==3)

{

UpdateData(true);

m_ed3 =m_ed1 * m_ed2;

UpdateData(false);

}

if (m_rad ==4)

{

UpdateData(true);

m_ed3 =m_ed1 / m_ed2;

UpdateData(false);

}

void CGetRadioDlg::OnButtonok() {

CString str;

CButton* Radiobutton = (CButton*)GetDlgItem(IDC_RADIO1 + m_Radio - 1); //计算选中的文本Radiobutton->GetWindowText(str); //获得按钮的文本

MessageBox(str); //显示按钮的文本

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 复选框

void CTtDlg::OnButton2()

{

UpdateData(true);

CString str = "你喜欢的菜是:"; //初始值

if (m_Clb1) //m_Clb1是复选按钮成员变量名,值类型BOOL按CTRL+W

{

str +="萝卜";

}

if (m_Cbc2)

{

str += "白菜";

}

if (m_Cbc3)

{

str += "菠菜";

}

if (!m_Clb1 && !m_Cbc2 && !m_Cbc3)

{

str = "你是个很挑的人"; //不要用+=用了会带上初始值字符"你喜欢的菜是:"你是个很挑的人}

MessageBox(str);

}

void CCountCheckDlg::OnButrefer()

{

CString ID,Name; //声明字符串变量保存编辑框文本

GetDlgItem(IDC_EDIT1)->GetWindowText(ID); //获得学号

GetDlgItem(IDC_EDIT2)->GetWindowText(Name); //获得姓名

CString str,text; //声明字符串变

str = "学号:" + ID + "姓名:" + Name + "\r\n"; //设置字符串

str += "必修科目:语文、数学\r\n选修科目:"; //设置字符串

for(int i=0;i<6;i++)

{

CButton* but = (CButton*)GetDlgItem(IDC_CHECK3+i); //设置指向复选框的指针

if(but->GetCheck()==1)

{

but->GetWindowText(text);

str += text + "、";

}

str = str.Left(str.GetLength()-2); //去掉末尾字符串的顿号

MessageBox(str);

}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 列表框

void CTtDlg::Onbtn3()

{

UpdateData(true);

m_LSTAD.AddString(m_ED); //将文本框中字符串添加到列表框控件类型Clisbox方法很多如添加删除插入等m_ED =" "; //清空文本框

UpdateData(false);

GetDlgItem(IDC_EDIT1)->SetFocus(); //设置文本框为焦点,即把光标置于文本框

}

void CTtDlg::Onbtn4()

{

int index; //定义索引

index=m_LSTAD.GetCurSel(); //选中列表框项目索引

m_LSTAD.DeleteString(index); //删除列表框索引指向的元素字符串

}

void CTtDlg::OnSelchangeList1() {

int index; DeleteString方法从列表框中删除一个字符串。

GetCurSel方法返回选中字符串的索引。

GetText(index,str)方法从列表框中获取一个字符串复制到指定的缓冲区。

AddString方法用于向列表框中添加字符串。

GetDlgItem方法根据指定的窗口ID返回一个窗口指针。

SetFocus方法使窗口获得焦点。

index = m_LSTAD.GetCurSel();

m_LSTAD.GetText(index,str); //得到索引所指向元素的字符串信息

res += str;

MessageBox(res);

}

void CCMyListDlg::OnButton1()

{

CListBox* listbox2 = (CListBox*)GetDlgItem(IDC_LIST2);

listbox2->SelectString(0,"英语");

}

void CCMyListDlg::OnButton2()

{

CButton* button = (CButton*)GetDlgItem(IDC_BUTTON2);

CListBox* listbox3 = (CListBox*)GetDlgItem(IDC_LIST3);

CString str;

int index = listbox3->GetCurSel();

if (index >=0)

{

listbox3->GetText(index,str);

button->SetWindowText(str);

}

}

void CCMyListDlg::OnButton3()

{

CListBox* listbox4 = (CListBox*)GetDlgItem(IDC_LIST4);

listbox4->Dir(DDL_DIRECTORY|DDL_SYSTEM,"c:\\*.*");

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

组合框

void CTtDlg::Onbtn5()

{

UpdateData(TRUE);

if (m_stradd ==" ")

{

AfxMessageBox("请输入地址!");

GetDlgItem(IDC_COMBO1)->SetFocus(); //设置文本框为焦点,即把光标置于文本框

return;

}

m_ed2 ="欢迎浏览:"; // m_ctradd控件类型Ccombobox

m_ed2 += m_stradd; //m_stradd是组合框成员变量名,值类型Cstring按CTRL+W

int index=m_ctradd.FindStringExact(-1,m_stradd); //搜索下拉列表找到m_cm0的完全匹配并返回索引值

if (index==CB_ERR) // 同等于(index== -1) 负1

m_ctradd.InsertString(0,m_stradd);

// m_ctradd.AddString(0,m_stradd);

}

else

{

m_ctradd.DeleteString(index);

m_ctradd.InsertString(0,m_stradd);

// m_ctradd.AddString(0,m_stradd);

}

m_stradd=" "; //操作完成后将组合框中编辑框清空

UpdateData(FALSE);

} Array void CTtDlg::OnSelendokCombo1()

{

//MessageBox("你选中了");

int index;

index=m_ctradd.GetCurSel();

m_ctradd.DeleteString(index);

m_ctradd.InsertString(0,m_stradd);

m_ed2="欢迎再次浏览";

m_ed2+=m_stradd; //得到所选元素项的索引颠值,将所选元素项的文本信息赋给m_stradd,删除此元素,UpdateData(false); //重新插入到第1行

}

void CCMyComDlg::OnButton1()

{

CComboBox* combobox1 = (CComboBox*)GetDlgItem(IDC_COMBO1);

combobox1->AddString("男");

combobox1->AddString("女");

}

void CCMyComDlg::OnButton2()

{

CComboBox* combobox2 = (CComboBox*)GetDlgItem(IDC_COMBO2);

combobox2->ResetContent();

}

void CCMyComDlg::OnButton3()

{

CComboBox* combobox3 = (CComboBox*)GetDlgItem(IDC_COMBO3);

CString text;

if(combobox3->GetCurSel()==-1)

{

MessageBox("请选择列表中字符串","提示");

return;

combobox3->GetLBText(combobox3->GetCurSel(),text);

MessageBox(text,"提示");

}

void CCMyComDlg::OnButton4()

{

CComboBox* combobox4 = (CComboBox*)GetDlgItem(IDC_COMBO4);

combobox4->Dir(DDL_DRIVES|DDL_EXCLUSIVE,"c:\*.*");

} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 列表视图

BOOL CTtDlg::OnInitDialog() //设置列表视图先初始化//显示对话框之前初始化工作,如设置图标,弹出菜单等

// LVS_EX_FULLROWSELECT 可选择一行,LVS_EX_FLATSB扁平风格显示滚动条

// LVS_EX_HEADERDRAGROP允许整列拖动,LVS_EX_ONCECLICKACTIV ATE单击选中项m_listCtrl.SetExtendedStyle(m_listCtrl.GetExtendedStyle() | LVS_EX_GRIDLINES);

// 用'或'运算符为控件添加额外网格型属性

m_listCtrl.InsertColumn(0, "编号", LVCFMT_LEFT, 70); // 插入一列索引号为0,列名为编号,左对齐70像素,下同m_listCtrl.InsertColumn(1, "姓名", LVCFMT_RIGHT, 80); //LVCFMT_RIGHT右对齐//80代表长度,可手动调节m_listCtrl.InsertColumn(2, "职位",LVCFMT_CENTER, 100); //LVCFMT_CENTER居中对齐

相关主题
相关文档
最新文档