在MFC应用程序中显示文本

Display text in MFC application

本文关键字:显示 文本 应用程序 MFC      更新时间:2023-10-16

我正在为我的一个uni项目构建一个MFC C++应用程序,不幸的是,MFC只允许您使用参数为LPCTSTRSetWindowTextW()方法?不是stringCString,而且我一辈子都找不到如何将字符串转换为LPCSTR值。

我的代码是:

pBorrowedBookCEdit1->SetWindowTextW(/* INSERT LPCTSTR HERE */);

String来自一个完全独立的对象。

如果有其他方法可以将文本传递到MFC中的CEdit对象,请告诉我=)

如有任何帮助,我们将不胜感激。

干杯。

假设你手头有一个std::string,你的问题模糊地表明了这一点,并进一步假设你正在构建一个Unicode应用程序,也模糊地表明,那么你可能可以进行

CString mfc_string( s.c_str() );
// Use mfc_string here.

其中CCD_ 8是CCD_。

CString构造函数记录在MSDN Library中。

查阅文档通常是个好主意。


背景:LPCTSTR是一个宏,根据在包含<windows.h>时是否定义了符号UNICODE,它可以扩展到char const*wchar_t const*。这是一个兼容性问题,用于编写可能在Windows 9x中工作的代码,但功能和可靠性大大降低。除非你的目标是Windows9x,否则别忘了,不要使用T宏。

T宏在2000年就已经过时了,当时微软推出了Unicode层,使Unicode应用程序可以在Windows 9x中工作(功能略有减少)。

在目标平台消亡很久之后的2014年,它们仍然被用于非遗留代码,IMHO证明了一致性的极端力量和自我可持续性。