Questions tagged «mfc»

17
私有成员和受保护成员:C ++
有人可以启发我关于private和protected班级成员之间的区别吗? 我从最佳实践惯例中了解到,应该制作在类之外没有调用的变量和函数private-但是在我的MFC项目中,MFC似乎更受欢迎protected。 有什么区别,我应该使用哪个?
276 c++  class  mfc 

3
MFC和ATL之间的根本区别是什么?
假设我仅将它们用于“常规” GUI程序(没有COM,没有ActiveX,没什么花哨的东西),那么我将在ATL和MFC之间看到什么根本的区别,以帮助我确定要使用哪一个? 我已经在网上进行了一些搜索,但最终没有一个答案真正回答了我的问题: http://msdn.microsoft.com/zh-CN/library/bk8ytxz5(v=vs.80).aspx: “ ATL是一种快速,简便的方法,既可以用C ++创建COM组件,又可以保持较小的占用空间。如果不需要MFC自动提供的所有内置功能,则可以使用ATL创建控件。” 并未真正回答我的问题,因为: 我不在使用COM。 这是否意味着MFC 是不是快吗?为什么/如何? “ MFC允许您创建完整的应用程序,ActiveX控件和活动文档。如果您已经使用MFC创建了控件,则可能要继续在MFC中进行开发。创建新控件时,如果不需要,请考虑使用ATL。 MFC的所有内置功能。” 也没有回答我的问题,因为: 我什至不知道ActiveX 首先是什么。 微软似乎不鼓励使用MFC,但我不知道为什么。 ATL没有提供MFC的“内置功能” 到底是什么? 总的来说,这不能回答我的问题,因为它不能解释不利因素及其背后的原因。 因为直接或间接,所有内容似乎都链接回到上一页: 如何确定对新的C ++项目使用ATL,MFC,Win32还是CLR? “在ATL和MFC之间进行选择比较棘手。 [[不开玩笑!]] 我将带您转到MSDN的页面进行选择,以便在它们之间进行选择。” 显然,这不能回答我的问题。:) http://www.codeguru.com/forum/archive/index.php/t-64778.html 等等 我目前观察到的(在最近几天内,试图同时学习两者): ATL基于模板或编译时多态性。 ATL方法往往是非虚拟的,并且倾向于返回引用。 MFC基于虚拟方法或运行时多态性。 MFC方法往往是虚拟的,并且倾向于返回指针。 但它们之间似乎在架构上没有任何区别: 两者都使用消息映射(BEGIN_MSG_MAP与BEGIN_MESSAGE_MAP...大不相同) 两者都将Win32方法包装到类中 两者似乎都有相似的类别CWnd。CWindow 但是然后,如果除了编译时和运行时方面没有真正的区别,那么为什么两者都存在?其中之一不够吗? 我在这里想念什么?
110 c++  visual-c++  mfc  atl 

5
LPCSTR,LPCTSTR和LPTSTR
什么区别LPCSTR,LPCTSTR和LPTSTR? 为什么我们需要这样做将字符串转换为LV/ _ITEM结构变量pszText: LV_DISPINFO dispinfo; dispinfo.item.pszText = LPTSTR((LPCTSTR)string);
109 c++  windows  visual-c++  mfc 

16
如何将CString和std :: string std :: wstring相互转换?
CString非常方便,同时std::string与STL容器更兼容。我正在使用hash_map。但是,hash_map不支持将CStrings作为键,因此我想将转换CString为std::string。 编写CString哈希函数似乎需要很多时间。 CString -----> std::string 我怎样才能做到这一点? std::string -----> CString: inline CString toCString(std::string const& str) { return CString(str.c_str()); } 我对吗? 编辑: 这里有更多问题: 如何从转换wstring为CString,反之亦然? // wstring -> CString std::wstring src; CString result(src.c_str()); // CString -> wstring CString src; std::wstring des(src.GetString()); 这有什么问题吗? 此外,我该如何转换std::wstring为std::string,反之亦然?
77 c++  mfc  cstring  stdstring 

5
如何确定对新的C ++项目使用ATL,MFC,Win32还是CLR?
我刚刚开始我的第一个C ++项目。我正在使用Visual Studio 2008。这是一个单格式的Windows应用程序,它访问几个数据库并启动WebSphere MQ事务。我基本上了解ATL,MFC,Win32(实际上我对此不太了解)和CLR之间的区别,但是我对应该如何选择感到困惑。 是否有其中一个或多个用于向后兼容? CLR是个坏主意吗? 任何建议表示赞赏。 编辑: 出于这个原因,我选择了C ++是出于我没有在帖子中讨论的原因,而这并不是完全技术性的。因此,假设C ++是唯一/最佳选择,那我应该选择哪个呢?
73 c++  winapi  mfc  clr  atl 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.