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

南山商城网站建设哪家便宜搭建网站是要什么

南山商城网站建设哪家便宜,搭建网站是要什么,wordpress月会员邀请码,企业网站栏目设计我是荔园微风#xff0c;作为一名在IT界整整25年的老兵#xff0c;今天我们来重新审视一下Visual Studio 2022下开发工具的MFC框架知识。 在看这篇帖子前#xff0c;请先看我的另一篇帖子《Visual Studio 2022的MFC框架——应用程序向导》。 当程序调用了CWinApp类的构造… 我是荔园微风作为一名在IT界整整25年的老兵今天我们来重新审视一下Visual Studio 2022下开发工具的MFC框架知识。  在看这篇帖子前请先看我的另一篇帖子《Visual Studio 2022的MFC框架——应用程序向导》。 当程序调用了CWinApp类的构造函数并执行了CMfcApp类的构造函数且产生了theApp 对象之后接下来就进入 WinMain 函数。根据前面我写的一些MFC帖子所示的代码可以发现WinMain 函数实际上是通过调用 AfxWinMain函数来完成它的功能的。 Afx前缀的函数代表应用程序框架Application Framework函数。应用程序框架实际上是一套辅助我们生成应用程序的框架模型。该模型把多个类进行了一个有机的集成可以根据该模型提供的方案来设计我们自己的应用程序。在MFC中以Afx为前缀的函数都是全局函数可以在程序的任何地方调用它们。 我们可以采取同样的方式查找定义AfxWinMain 函数的源文件在搜索到的文件中双击winmain.cpp,并在其中找到 AfxWinMain函数的定义代码。 int AFXAPI AfxWinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,_In_ LPTSTR lpCmdLine, int nCmdShow) {ASSERT (hPrevInstance NULL);int nReturnCode -1;CWinThread* pThread AfxGetThread();CWinApp* pApp AfxGetApp();// AFX internal initializationif ( !AfxWinInit (hInstance, hPrevInstance, lpCmdLine, nCmdShow))goto InitFailure;// App global initializations (rare)if (pApp ! NULL !pApp-InitApplication())goto InitFailure;// Perform specific initializationsif (!pThread-InitInstance()){if (pThread-m_pMainWnd ! NULL){TRACE(traceAppMsg, 0, Warning\n);pThread-m_pMainWnd-Destroywindow();}nReturnCode pThread-ExitInstance();goto InitFailure;nReturnCode pThread-Run();InitFailure:#ifdef _DEBUG// Check for missing AfxLockTempMap callsif (AfxGetModuleThreadState()-m_nTempMapLock ! 0){TRACE(traceAppMsg, 0, Warning\n, AfxGetModuleThreadState ()-m_nTempMapLock);}AfxLockTempMaps ();AfxUnlockTempMaps (-1);#endifAfxWinTerm();return nReturnCode;} 在上面所示的代码中AfxWinMain首先调用AfxGetThread函数获得一个CWinThread类型的指针接着调用 AfxGetApp函数获得一个CWinApp类型的指针。从MFC类库组织结构图中可以知道CWinApp派生于CWinThread。 下面是AfxGetThread函数的源代码位于thrdcore.cpp文件中。 CWinThread* AFXAPI AfxGetThread() {// check for current thread in module thread stateAFX_MODULE_THREAD_STATE* pState AfxGetModuleThreadState ();CWinThread* pThread pState-m_pCurrentWinThread;return pThread; } 从上面所示代码中可以发现 AfxGetThread函数返回的就是在 CWinApp构造函数中保存的 this指针。对Mfc程序来说这个this指针实际上指向的是CMfcApp的全局对象:theApp。 AfxGetApp是一个全局函数定义于 afxwin1.inl中 _AFXWIN_INLINE CWinApp* AFXAPI AfxGetApp(){ return afxCurrentWinApp;} 而afxCurrentWinApp的定义位于 afxwin.h文件中代码如下 #define afxCurrentWinApp    AfxGetModuleState()-m_pCurrentWinApp 结合查看之前关于MFC帖子中所示的CWinApp构造函数代码就可以知道 AfxGetApp函数返回的是在 CWinApp 构造函数中保存的 this 指针。对Mfc程序来说 这个 this 指针实际上指向的是 CMfcApp的对象 theApp。也就是说对Mfc程序来说 pThread和 pApp所指向的都是CMfcApp类的对象即theApp全对象。 再来说说InitInstance函数再回到上面所示的 AfxWinMain函数可以看到在接下来的代码中pThread和 pApp调用了三个函数这三个函数就完成了Win32程序所需要的几个步骤设计窗口类、注册窗口类、创建窗口、显示窗口、更新窗口、消息循环以及窗口过程函数。pApp首先调用 InitApplication函数该函数完成MFC内部管理方面的工作。 接着调用pThread的 InitInstance 函数。在Mfc程序中可以发现从 CWinApp派生的应用程序类CMfcApp也有一个InitInstance函数其声明代码如下所示。 virtual BOOL InitInstance(); 从其定义可以知道InitInstance函数是一个虚函数。根据类的多态性原理可以知道AfxWinMain函数在这里调用的实际上是子类  CMfcApp 的 InitInstance函数。CMfcApp类的 InitInstance函数定义代码如下所示。 BOOL CMfcApp::InitInstance() {INITCOMMONCONTROLSEX InitCtrls;InitCtrls. dwsize sizeof (InitCtrls);//将它设置为包括所有要在应用程序中使用的//公共控件类InitCtrls. dwICC ICC_WIN95_CLASSES;InitCommonControlsEx(InitCtrls);CWinApp::InitInstance();//初始化OLE库if (!AfxOleInit()){AfxMessageBox (IDP_OLE_INIT_FAILED);return FALSE;}AfxEnableControlContainer();EnableTaskbarInteraction (FALSE);SetRegistryKey(_T(应用程序向导生成的本地应用程序)LoadStdProfileSettings(4); //加载标准 INI 文件选项包括 MRU)//注册应用程序的文档模板。  文档模板//将用作文档、框架窗口和视图之间的连接CSingleDocTemplate* pDocTemplate;pDocTemplate new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS (CMfcDoc),RUNTIME_CLASS (CMainFrame),  //主SDI框架窗口RUNTIME_CLASS (CMfcView));if ( !pDocTemplate)return FALSE;AddDocTemplate (pDocTemplate);//分析标准shel1命令、DDE、打开文件操作的命令行CCommandLineInfo cmdInfo;ParseCommandLine (cmdInfo);if ( !ProcessShellCommand (cmdInfo))return FALSE;//唯一的一个窗口已初始化因此显示它并对其进行更新m_pMainWnd-ShowWindow(SW_SHOW);m_pMainWnd-Updatewindow ();return TRUE; } 这几篇内容涉及的内容有点难如果大家看不懂要结合其他VC的资料综合看。 作者简介荔园微风1981年生高级工程师浙大工学硕士软件工程项目主管做过程序员、软件设计师、系统架构师早期的Windows程序员Visual Studio忠实用户C/C使用者是一位在计算机界学习、拼搏、奋斗了25年的老将经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代我不知道未来还会有什么时代只记得这一路走来充满着艰辛与收获愿同大家一起走下去充满希望的走下去。
http://www.dnsts.com.cn/news/115726.html

相关文章:

  • 北京哪里能学做网站长安英文网站建设
  • 永川网站制作联系电话电工培训技术学校
  • 秦皇岛营销式网站嵌入式培训机构哪家好
  • 学校 网站建设招聘四川省建设厅网站投诉
  • 设计视频网站选择大连网站建设
  • 广东网站建设案例企业做网站要
  • 请被人做网站申请域名
  • 长沙网站建设公司联系方式办公室装修设计公司哪家好
  • 哪个网站可以做代码题目东莞网站优化怎样
  • 对伊利网站建设建议长沙市网站设计公司
  • 宁波高端网站建设网络营销策划方案书
  • 蓝色的网站网站开发常用jquery插件总结(四)验证插件validation
  • 做网站需要交印花税网站关键词密度
  • 资阳网站开发十大免费行情软件在线观看
  • 网站建设合同英文模板杭州专业网站制作设计
  • 网站品牌形象设计怎么做做传销网站的
  • 徐州网站建设哪家专业网易云音乐网页版
  • 网站建设人员的安排网站后台内容编辑器下载
  • 郑州网站推广外包地址网站开发下载那个
  • 濮阳住房和城乡建设部网站企业邮箱在哪里看
  • 百度快照和做网站有关系吗主流的网页设计软件
  • 华为云上面可以代做网站吗wordpress课程报名
  • 云南微网站建设的公司有哪些热烈祝贺网站上线
  • 网上购物商城网站建设毕业设计哈尔滨seo网络优化招聘
  • 网站建设前需求调研表深圳网站制作的公司网络服务
  • 营销型网站建设技术指标重庆 手机网站制作
  • 宁波网站推广工作室电话莱芜金点子信息港最新
  • 网站分站加盟2023企业所得税300万以上
  • 企业网站那几点重要Wordpress禁止爬虫ip
  • 海口模板建站系统招聘网站设计师要求