建设小说网站的系统有哪些,天华集团设计公司,777fj做最好的网站,上海百度公司总部windows程序设计——飞机大战笔记(单文档文件登陆界面)//2015/07/21/by xbw////环境 VS 2013飞机大战做的差不多了#xff0c;闲来无事加点高大上的东西#xff0c;关于单文档的登陆界面#xff1b;#xff1b;#xff1b;界面有点丑#xff0c;但是足够账号登陆了#…windows程序设计——飞机大战笔记(单文档文件登陆界面)//2015/07/21/by xbw////环境 VS 2013飞机大战做的差不多了闲来无事加点高大上的东西关于单文档的登陆界面界面有点丑但是足够账号登陆了先试一把还不错吧该有的都有了下面说一下过程 、、、、、、首先我们要在资源视图中创建一个Dialog对话框先大体画一下这个对话框自己设计就好了然后在空白处右键添加类给这个对话框添加类这里呢我添加了一个loading类英语不是太好胡乱写点高大上的英文在哪用对话框我们就需要吧#include loading.h加为他的头文件这样呢我在view类中建了一个函数BOOL CPlaneGameView::Indlg(){loading dlg;//opening TRUE;if (dlg.DoModal() IDOK){Invalidate();opening dlg.open1;}return TRUE;}调用在void CPlaneGameView::OnInitialUpdate(){CView::OnInitialUpdate();// TODO: 在此添加专用代码和/或调用基类//登陆界面Indlg();//初始化游戏if (!opening)InitGame();elseexit(0);}这个函数中会依次运行这样的话登陆界面就会先于单文档窗口显示至于opening是我设置的开关就是点登陆界面的退出按钮时就会执行exit(0)整个程序就结束了之前遇到的问题是点了退出按钮后程序反而运行了飞机大战主程序哭笑不得索性把这个按钮删掉了玩家只能进入游戏才能退出后来一想这不扯呢吗哈哈于是弄了起来先来段loading.cpp的代码完整的******// loading.cpp : 实现文件//#include stdafx.h#include PlaneGame.h#include loading.h#include afxdialogex.h// loading 对话框IMPLEMENT_DYNAMIC(loading, CDialogEx)loading::loading(CWnd* pParent /*NULL*/): CDialogEx(loading::IDD, pParent), open(false), open1(false){}loading::~loading(){}void loading::DoDataExchange(CDataExchange* pDX){}BEGIN_MESSAGE_MAP(loading, CDialogEx)ON_WM_NCHITTEST()ON_WM_CTLCOLOR()ON_BN_CLICKED(IDCANCEL, loading::OnBnClickedCancel)ON_BN_CLICKED(IDOK, loading::OnBnClickedOk)ON_BN_CLICKED(IDOK2, loading::OnBnClickedOk2)END_MESSAGE_MAP()// loading 消息处理程序//鼠标拖动窗口移动LRESULT loading::OnNcHitTest(CPoint point){// TODO: 在此添加消息处理程序代码和/或调用默认值ScreenToClient(point);CRect rc;GetClientRect(rc);if (rc.PtInRect(point)){return HTCAPTION;}else{return CDialogEx::OnNcHitTest(point);}}HBRUSH loading::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){//HBRUSH hbr CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor);//CFont font;//font.CreatePointFont(200, _T(宋体), NULL);//GetDlgItem(IDC_STATIC)-SetFont(font);// TODO: 在此更改 DC 的任何特性//在OnInitDialog()函数中添加// TODO: 在此添加额外的初始化代if (nCtlColor CTLCOLOR_STATIC){pDC-SetTextColor(RGB(200, 100, 50));pDC-SetBkMode(RGB(200, 100, 50)); //设置背景透明return HBRUSH(GetStockObject(HOLLOW_BRUSH));}// TODO: 如果默认的不是所需画笔则返回另一个画笔//return hbr;return 0;}void loading::OnBnClickedCancel(){// TODO: 在此添加控件通知处理程序代码open FALSE;CDialogEx::OnCancel();}void loading::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码CString name;CString pwd;int flog 1;GetDlgItem(IDC_EDIT3)-GetWindowTextW(name);GetDlgItem(IDC_EDIT4)-GetWindowTextW(pwd);if (name.Compare(_T(xbw12138)) || pwd.Compare(_T(201401061130))){if (name.Compare(_T(xbw12138))){flog 0;MessageBox(_T(用户名不正确), _T(提示));}if (pwd.Compare(_T(201401061130))flog1)MessageBox(_T(密码不正确), _T(提示));}else{OnOK();}}void loading::OnBnClickedOk2(){open1 FALSE;// TODO: 在此添加控件通知处理程序代码}LRESULT loading::OnNcHitTest(CPoint point)这个是添加的消息具体什么消息不再这说明了请看我的其他文章鼠标拖动对话框移动的那篇对就是这个功能HBRUSH loading::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)也是添加的消息为了使static text等一些空间透明在有背景图的时候效果很明显不过这里装逼失败了一会文章补上void loading::OnBnClickedCancel(){// TODO: 在此添加控件通知处理程序代码open FALSE;CDialogEx::OnCancel();}这段已经没用了取消的空间已经被我删除了void loading::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码CString name;CString pwd;int flog 1;GetDlgItem(IDC_EDIT3)-GetWindowTextW(name);GetDlgItem(IDC_EDIT4)-GetWindowTextW(pwd);if (name.Compare(_T(xbw12138)) || pwd.Compare(_T(201401061130))){if (name.Compare(_T(xbw12138))){flog 0;MessageBox(_T(用户名不正确), _T(提示));}if (pwd.Compare(_T(201401061130))flog1)MessageBox(_T(密码不正确), _T(提示));}else{OnOK();}}这段是重点了吧算是检查登陆是否正确虽然是个单机不过这样也很高大上后续呢我将要用xml记录一些数据试试能不能实现一个账号记录一个分数弄个排行榜什么的等我昂void loading::OnBnClickedOk2(){open1 FALSE;// TODO: 在此添加控件通知处理程序代码}这就是退出按钮的开关至于一些变量都添加在相应的头文件里吧一定要记得初始化要不会乱套的这样就基本差不多了不正确的地方互相交流学习有问题在下边留言我会回复跟您一同解决问题的这样就车不多了不多说了版权声明本文为博主原创文章未经博主允许不得转载。1楼zhoujielunzhimi昨天 17:20居然看到了exit(0);nexit一般用在console程序中n界面程序使用PostQuitMessage(0).Re: xbw12138昨天 19:04回复zhoujielunzhimin学习了谢谢您我会改进的Re: xbw12138昨天 19:05回复zhoujielunzhimin学习了谢谢您我会改进的