MFC编程之简单的窗口设计相关的方法

MFC编程之简单的窗口设计相关的方法

 

/************************************************************************************
* 本文为作者原创,转载请注明出处,未经本人允许请勿用于商业用途!
* Author:于海平
* 邮箱:linux_fish@126.com
* 本文链接:http://blog.csdn.net/drivelinux/article/details/8512925

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

一、消息提示框

1.AfxMessageBox()

int AfxMessageBox( 
   LPCTSTR lpszText, 	//提示信息字符串的指针
   UINT nType = MB_OK, 	//MessageBox的类型
   UINT nIDHelp = 0  	//帮助文本的ID,0为采用默认的帮助文本
); 

2.MessageBox()

int MessageBox(
   LPCTSTR lpszText,
   LPCTSTR lpszCaption = NULL,	//MessageBox的标题
   UINT nType = MB_OK 
);

这两个函数的功能基本相同。但是AfxMessageBox()为全局的函数,可在任意位置调用。MessageBox()只能在基类是CWnd的类里面直接调用。

其中,nType参数的取值如下:

A.MessageBox的类型设置
•MB_ABORTRETRYIGNORE   包含三个按钮:Abort, Retry, and Ignore.
•MB_OK   包含一个按钮: OK.
•MB_OKCANCEL   包含两个按钮: OK and Cancel.
•MB_RETRYCANCEL   包含两个按钮: Retry and Cancel.
•MB_YESNO   包含两个按钮: Yes and No.
•MB_YESNOCANCEL   包含三个按钮: Yes, No, and Cancel.

B.MessageBox的模式设置
•MB_APPLMODAL     应用模态	
•MB_SYSTEMMODAL   系统模态
•MB_TASKMODAL     任务模态

C.MessageBox的图标设置
•MB_ICONEXCLAMATION   An exclamation-point icon appears in the message box.
•MB_ICONINFORMATION   An icon consisting of an i in a circle appears in the message box.
•MB_ICONQUESTION   A question-mark icon appears in the message box.
•MB_ICONSTOP   A stop-sign icon appears in the message box.

D.缺省的按钮
•MB_DEFBUTTON1   
•MB_DEFBUTTON2   
•MB_DEFBUTTON3   

使用实例如下:

AfxMessageBox("账号不能为空");
MessageBox("密码不能为空","提示",MB_YESNO|MB_ICONSTOP);


二、CString类的使用

1.定义和赋值

CString txt = _T("Hello");
txt += _T(" Kitty");

2.常用方法

A.CString::Format()
txt.Format("%s%d","The result is ",-1);
MessageBox(txt,"提示",MB_YESNO|MB_ICONSTOP);
B.CString::IsEmpty()

该方法用于判断一个CString对象是否为空。

3.字符串比较

可以直接用‘==’将CString对象和字符串进行比较。

三、窗口函数

1.UpdateData()

BOOL UpdateData(
   BOOL bSaveAndValidate = TRUE 
);

该函数用于刷新数据。UpdateData(TRUE)表示刷新控件的值到对应的变量中,UpdateData(FALSE)表示刷新变量的值到对应的控件中。

 

 四、CDialog::OnOk()和CDialog::OnCancel()

 1.CDialog::OnOk()

该函数实现的功能是首先调用UpdateData(TRUE)刷新控件中的数据到对应的变量中,并调用EndDialo()关闭当前对话框。

 2.CDialog::OnCancel()

该函数实现的功能是调用EndDialo()关闭当前对话框。

五、按一个按钮退出当前窗口并打开新窗口的实现

this->ShowWindow(SW_HIDE);  
MainWindow mw;
mw.DoModal();
CDialog::OnOK();

六、更换程序图标的方法

在Resource View模式下,删除图标对应的ID,也就是删除当前的图标。然后,选择Insert->Resource->Icon->Import,并导入自己的图标即可。然后重新编译工程,应用程序程序的图标就是设定的图标了。导入的图标可以为16x16或者32x32大小的(这两种是我试过的)。










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值