随笔分类 -  Windows Programing

摘要:如果你经常在 Windows 平台下写程序的话,我相信你一定会遇到 Unicode 与 ANSI 字符串之间的转换(string<->CString之类的)。要想实现 Unicode 和 ANSI 之间的转换,我之前的一篇文章中简单的介绍了一下:VS 系列 CString 转 string 方法,其实文中的方法是我蒙出来的,简单有效,至于原理我也不甚明了。大部分人使用的是以下两种函数来实现两者的转换:(1)ANSI->Unicodeint MultiByteToWideChar( __in UINT CodePage, // 标识了与多字节关联的一个代码页值 __in DWO 阅读全文
posted @ 2011-10-10 17:56 独酌逸醉 阅读(6708) 评论(0) 推荐(1) 编辑
摘要:引: 这篇博客是根据昨天的我们团队技术研讨会,我所讲的部分的内容(这句话读起来好纠结啊),由幻灯片改变而成的。因为我们团队在界面设计上缺陷很大,而我想对强一些(当然是我们团队之中了,我们都是大学生,所以我也强不到哪儿去)。为什么不直接讲MFC技术,而要简单讲框架。原因如下:个人认为MFC难学难用在于你不了解MFC的架构,如果你稍微有一些了解的话,用起来也就没那么复杂了。框架类型的东西往往如此,为程序员隐藏了太多的细节,通常都是知其然而不知其所以然。我准备了好长时间,但是讲解效果不好。意料之外,情理之中。一来看框架就要看源码,一个框架源码的复杂程度可想而知;二来大家都关心一些实用的技术,表面性. 阅读全文
posted @ 2011-09-20 00:45 独酌逸醉 阅读(3981) 评论(16) 推荐(3) 编辑
摘要:MFCRTTI探究张杰2011-09-17声明本文由张杰原创,参考了侯俊杰先生的《深入浅出MFC》,源码摘自MicrosoftVisualStudio9.0\VC。个人能力有限,文章必定存在很多错误。我的邮箱是:chinajiezhang@gmail.comchinajiezhang@163.com欢迎您来邮件斧正。当然您也可以加我msn:chinazhangjie@hotmail.com交流。本文可供传播、交流、学习使用,但请不要用于商业用途。转载请标明此声明,谢谢您的合作。DECLARE_DYNCREATE和IMPLEMENT_DYNCREATE查看DECLARE_DYNCREATE定义( 阅读全文
posted @ 2011-09-20 00:37 独酌逸醉 阅读(1764) 评论(0) 推荐(1) 编辑
摘要:MFC消息映射与命令传递张杰2011-09-17声明本文由张杰原创,参考了侯俊杰先生的《深入浅出MFC》,源码摘自MicrosoftVisualStudio9.0\VC。个人能力有限,文章必定存在很多错误。我的邮箱是:chinajiezhang@gmail.comchinajiezhang@163.com欢迎您来邮件斧正。当然您也可以加我msn:chinazhangjie@hotmail.com交流。本文可供传播、交流、学习使用,但请不要用于商业用途。转载请标明此声明,谢谢您的合作。DECLARE_MESSAGE_MAP宏在MFC几乎每个头文件下(类的最后一行声明),都会有这么几行代码://生 阅读全文
posted @ 2011-09-20 00:12 独酌逸醉 阅读(6538) 评论(0) 推荐(0) 编辑
摘要:MFC程序来龙去脉_子文档5探究nReturnCode=pThread->Run()查看pThread->Run代码(C:\ProgramFiles\MicrosoftVisualStudio9.0\VC\atlmfc\src\mfc\thrdcore.cpp):intCWinApp::Run(){ if(m_pMainWnd==NULL&&AfxOleGetUserCtrl()) { //Notlaunched/Embeddingor/Automation,buthasnomainwindow! TRACE(traceAppMsg,0,"Warning: 阅读全文
posted @ 2011-09-20 00:03 独酌逸醉 阅读(1655) 评论(0) 推荐(2) 编辑
摘要:MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0MFC程序来龙去脉_子文档 4_子文档1寻找m_pMainWnd初始化时机直接搜索所有m_pMainWnd赋值语句(m_pMainWnd=)会发现如下代码:(1)UINTAPIENTRY_AfxThreadEntry(void*pParam){pThread->m_pMainWnd=&threadWnd;}(2)CDocument*CSingleDocTemplate::OpenDocumentFile(LPCTSTRlpszPathName, BOOLbMakeV 阅读全文
posted @ 2011-09-20 00:02 独酌逸醉 阅读(648) 评论(0) 推荐(1) 编辑
摘要:MFC程序来龙去脉_子文档4探究pThread->InitInstance()由上面解释可知pThread指向theApp。尽管类型不是CFirstMFCDemoApp*,但必定是其父类。由OO多态性可知该语句调用的是子类方法CFirstMFCDemoApp::InitInstance()。查看CFirstMFCDemoApp::InitInstance()源码:BOOLCFirstMFCDemoApp::InitInstance(){ //如果一个运行在WindowsXP上的应用程序清单指定要 //使用ComCtl32.dll版本6或更高版本来启用可视化方式, //则需要InitCom 阅读全文
posted @ 2011-09-20 00:01 独酌逸醉 阅读(1084) 评论(0) 推荐(1) 编辑
摘要:MFC程序来龙去脉_子文档2探究AfxWinInit(hInstance,hPrevInstance,lpCmdLine,nCmdShow)查看AfxWinInit源码:BOOLAFXAPIAfxWinInit(_In_HINSTANCEhInstance,_In_HINSTANCEhPrevInstance, _In_z_LPTSTRlpCmdLine,_In_intnCmdShow){ ASSERT(hPrevInstance==NULL); //handlecriticalerrorsandavoidWindowsmessageboxes SetErrorMode(SetErrorMod 阅读全文
posted @ 2011-09-20 00:00 独酌逸醉 阅读(752) 评论(0) 推荐(1) 编辑
摘要:MFC程序来龙去脉_子文档3探究pApp->InitApplication()查看CWinApp::InitApplication()源码:BOOLCWinApp::InitApplication(){ if(CDocManager::pStaticDocManager!=NULL) { if(m_pDocManager==NULL) m_pDocManager=CDocManager::pStaticDocManager; CDocManager::pStaticDocManager=NULL; } if(m_pDocManager!=NULL) m_pDocManager->A 阅读全文
posted @ 2011-09-20 00:00 独酌逸醉 阅读(395) 评论(0) 推荐(1) 编辑
摘要:MFC程序来龙去脉_子文档1探究CWinThread*pThread=AfxGetThread();和CWinApp*pApp=AfxGetApp()查看AfxGetThread()源码(C:\ProgramFiles\MicrosoftVisualStudio9.0\VC\atlmfc\src\mfc\thrdcore.cpp):CWinThread*AFXAPIAfxGetThread(){ //checkforcurrentthreadinmodulethreadstate AFX_MODULE_THREAD_STATE*pState=AfxGetModuleThreadState(); 阅读全文
posted @ 2011-09-19 23:59 独酌逸醉 阅读(2431) 评论(0) 推荐(1) 编辑
摘要:MFC程序来龙去脉——寻找与Win32App的关联MicrosoftInternetExplorer402DocumentNotSpecified7.8Normal0声明本文由张杰原创,参考了侯俊杰先生的《深入浅出MFC》,源码摘自MicrosoftVisualStudio9.0\VC。个人能力有限,文章必定存在很多错误。我的邮箱是:chinajiezhang@gmail.comchinajiezhang@163.com欢迎您来邮件斧正。当然您也可以加我msn:chinazhangjie@hotmail.com交流。本文可供传播、交流、学习使用,但请不要用于商业用途。转载请标明此声明,谢谢您的 阅读全文
posted @ 2011-09-19 23:58 独酌逸醉 阅读(2707) 评论(0) 推荐(1) 编辑
摘要:四、实践学习:一个ListCtrl的详细实现1.切换到第一个对话框点击ListCtrl控件2.在属性窗口,改变View属性为Report3.创建ListCtrl的列,在OnInitDialog()中添加代码如下:[代码]4.准备创建一个完全的项,设计一个第一个对话框如下:ControlCaptionIDOther PropertiesStatic TextCategory:Combo BoxIDC_CATEGORIESData: Babies;Teens;Women;Men;MiscellaneousStatic TextItem Name:Edit ControlIDC_ITEMNAMESt 阅读全文
posted @ 2011-01-01 12:08 独酌逸醉 阅读(8765) 评论(0) 推荐(1) 编辑
摘要:元旦发帖,首先祝大家元旦快乐!声明:1、本文为翻译文章,水平有限,错误之处,烦请指正(chinajiezhang@gmail.com)。2、使用VS2005,所以在某些细节上和原作者不太一样3、工程中使用图片和作者略有不同4、文章如有争议,以原作者文章为准5、转载请标明出处原文链接:http://www.functionx.com/visualc/controls/listcontrol.htm一、ListControl概述概述:ListCtrl控件由四种列表的显示方式构成,它最典型的用法是使用icon来显示。ListCtrl通常显示下面四种项目(item):Icons: 控件显示项的列表,使 阅读全文
posted @ 2011-01-01 11:48 独酌逸醉 阅读(18411) 评论(0) 推荐(0) 编辑
摘要:CString cstr("chinazhangjie");string str = (CStringA)cstr;就这么简单。通过str.c_str()可转换成const char*。 阅读全文
posted @ 2010-09-04 23:11 独酌逸醉 阅读(2983) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示