当前位置: 首页 > news >正文

潍坊网站优化培训深圳代做网站后台

潍坊网站优化培训,深圳代做网站后台,网络公司给我做网站我有没有源代码版权吗,3d动画制作视频教程基本概念 MFC Microsoft Fundation class 微软基础类库 框架 基于Win32 SDK进行的封装 属性:缓解库关闭 属性->C/C/代码生成/运行库/MTD 属性->常规->MFC的使用:在静态库中使用MFC,默认是使用的共享DLL,运行时库 SD…

基本概念

MFC Microsoft Fundation class 微软基础类库

框架 基于Win32 SDK进行的封装


属性:缓解库关闭

属性->C/C++/代码生成/运行库/MTD

属性->常规->MFC的使用:在静态库中使用MFC,默认是使用的共享DLL,运行时库

SDK版本:开发软件的套件

WSK:开发驱动的套件


MFC基于类的管理

预编译头:

Demo01.h

Demo01.cpp

Demo01Dlg.cpp

  • Demo01Dlg.h

    绑定在对话框上的类

    类的继承关系:

    Cobject:处理序列化以及反序列化

    CCmdTarget:处理WM_COMMAND消息

    CWnd:窗口类

    CDialog:对话框

    CDialogEx:对话框

    Demo01Dlg:自己创建的对话框

  • OnInitDialog:对话框MFC框架的入口

  • MFC里和窗口句柄有关的函数,均不需要填写窗口句柄函数

  • 如果需要,添加作用域强行退出MFC的命名空间

  • 模态对话框

  • 非模态对话框

MFC中依然支持SDK的做法


类绑定:

  1. 添加类
  2. 类名

MFC绑定变量:

值类型

控件类型

复习总结:

  • 创建MFC项目的时候,项目名称中不能出现中文。

  • 如果想要兼容让其他没有安装visual studio的计算机使用,那么就要使用在静态链接库中使用MFC

  • MFC是基于类的

  • Practice.h:

    该文件为我们创建了CPracticeApp类

    类的继承关系:

    (上面还有很多)

    CWinThread:应用程序线程,继承CCmdTarget

    CWWinApp:对话框,继承CWinThread

    CPraticeApp:是我们自己的应用程序类,继承CWinApp

  • PracticeDlg.h:

    这个头文件中是我们自己创建的对话框类

    类继承关系:

    CObject:基础类库中的主体基类,处理序列化与反序列化

    CCmdTarget:消息映射结构体系类,继承Cobject

    CWnd:窗口类,继承CCmdTarget

    CDialog:对话框类,继承CWnd

    CDialogEx:对话框类,继承CDialog

    CPraticeDlg:我们自己的对话框类,继承CDialogEx

相关操作:

  • 按钮操作:在对话框上双击按钮即可编辑相关操作

  • 添加对话框:比如说要在某个按钮上添加对话框,首先需要画出对话框,然后双击添加MFC类,在要显示的时候,先用这个类声明一个变量,然后使用DoModal方法,也可以先new出该对话框的类,然后使用Create方法,创建出对话框,但是这种方法需要ShowWindow方法,

    实例:

    第一种:

        CDialogOne obj;obj.DoModal();
    

    第二种:

      CDialogTwo *obj = NULL;obj = new CDialogTwo;obj->Create(IDD_DIALOG2, this);obj->ShowWindow(SW_SHOW);
    
  • 可以在按钮上添加变量,比如说在一个按钮上添加了一个文本框变量,将其添加为值的形式,字符串类型,那么我们在处理按钮的时候,可以直接:

    其中UpDateData方法的作用是同步

        UpdateData(TRUE);m_EDIT = L"欢迎来到MFC的世界!";UpdateData(FALSE);
    
  • 在MFC中,有很多消息是自己处理了,我们并不用关心,但是如果我们要自己处理消息

    • 处理SendMessage消息:

      在对话框中使用类向导,添加OnWndMsg方法,在OnOwnMsg方法中,我们可以像SDK那样处理消息。

      BOOL CPracitceDlg::OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
      {// TODO: 在此添加专用代码和/或调用基类switch (message) {case WM_KEYDOWN: {switch (wParam) {case VK_F4: {MessageBox(L"F!", L"MSG", NULL);break;}}break;}case WM_LBUTTONDOWN: {MessageBox(L"WM_LBUTTONDOWN", L"MSG", NULL);break;}case 199: {MessageBox(L"SEND199", L"MSG", NULL);break;}case 200: {break;MessageBox(L"SEND200", L"MSG", NULL);}case 201: {MessageBox(L"SEND201", L"MSG", NULL);break;}case 202: {MessageBox(L"SEND202", L"MSG", NULL);break;}}return CDialogEx::OnWndMsg(message, wParam, lParam, pResult);
      }
      
    • 处理PostMessage消息:

      在对话框中使用类向导,添加PreTranslateMessage方法,在PreTranslateMessage方法中,我们可以像SDK那样处理消息。

      BOOL CPracitceDlg::PreTranslateMessage(MSG* pMsg)
      {// TODO: 在此添加专用代码和/或调用基类switch (pMsg->wParam) {case 199: {MessageBox(L"POST199", L"MSG", NULL);break;}case 200: {break;MessageBox(L"POST200", L"MSG", NULL);}case 201: {MessageBox(L"POST201", L"MSG", NULL);break;}case 202: {MessageBox(L"POST202", L"MSG", NULL);break;}}return CDialogEx::PreTranslateMessage(pMsg);
      }
      
  • SendMessage会等待消息响应,会阻塞,所以会按照顺序来,但是PostMessage不会等待消息返回,所以导致顺序倒置:

    void CPracitceDlg::OnBnClickedButton1()
    {//CDialogOne obj;//obj.DoModal();///*//HWND hEdit1Dlg = ::GetDlgItem(m_hWnd, IDC_EDIT1);//::SetWindowText(hEdit1Dlg, L"欢迎来到MFC的世界!");*///UpdateData(TRUE);//m_EDIT = L"欢迎来到MFC的世界!";//UpdateData(FALSE);//SendMessage(199, NULL, NULL);//SendMessage(200, NULL, NULL);//SendMessage(201, NULL, NULL);//SendMessage(202, NULL, NULL);PostMessage(199, NULL, NULL);PostMessage(200, NULL, NULL);PostMessage(201, NULL, NULL);PostMessage(202, NULL, NULL);
    }
    
http://www.yayakq.cn/news/865859/

相关文章:

  • 怎么做网站浮动模块网站建设标准合同书
  • 怎么查找一个网站开发时间统一门户网站建设参考规范
  • 做家电家具回收用哪个网站好注册公司没有地址怎么解决
  • 甘肃做网站找谁青岛北方现货交易平台代理
  • 广东建设职业注册中心网站网站的功能和特色
  • 做网站引用别人的图片重庆做网站建设的公司哪家好
  • 合肥专业制作网站汽车贸易网站建设方案
  • 推荐好的网站或网页网站制作排名
  • 谷歌优化排名公司企业网站搜索优化网络推广
  • 建站推广免费公司删除windows wordpress
  • 江西网站制作网站logo的颜色与网页的颜色
  • 云南省建设工程招标投标行业协会网站建网站引流做淘宝
  • 做网站运营有提成吗佛山制作网站公司吗
  • 不同类型网站比较wordpress 模拟登陆
  • 甘德县公司网站建设怎样制作做实景的网站
  • 东莞网站建设哪里找做网站赚什么钱
  • 北京网站建设1000zhu怎么做彩票平台网站吗
  • 北京哪有建网站公司或个人的手机百度搜索引擎入口
  • 杭州网站建设开发有限公司美橙建站五合一建站套餐申请
  • 用html5做商城网站怎么做计算机专业设计一个网站
  • 手机网站页面尺寸大小小程序模板下载了怎么用
  • 沈阳网站建设求职简历江西建设厅网站官网
  • 免费素材网站哪个最好永泰建设工程网站
  • 域名抢注网站是怎么免费室内装修3d设计软件
  • 游戏公司网站模板下载wordpress linux版本
  • 可以做线路板网站的背景图app界面怎么做
  • 做跨境网站注意事项东圃做网站
  • 给新公司建网站一元购网站建设方案书
  • 3733手游网站在哪里做的想建一个网站怎么做
  • 开福区网站建设论坛注册域名有什么意义