不用MFC,怎么在弹出的对话框中显示变量的值

不用MFC,如何在弹出的对话框中显示变量的值?

如题,刚用VC,想实现点击一个按钮之后,在弹出的对话框里显示程序中某变量的值,

不用MFC的话,该如何实现?

------解决方案--------------------
做个MFC的对话框,外观和Messagebox一样,添加变量的显示,然后domodal,关闭时用EndDialog返回预设的值,根据domodal返回的值判断是点击了确定还是取消,做相应的操作
------解决方案--------------------
你所谓的打印麻烦,是指输出非LPTSTR的内容吧。那得封装一个方法:使用sprintf(buffer,"%d", i);然后MessageBox(NULL,buffer,"",0);就好了。
------解决方案--------------------
显示程序中变量,如果是调试用,为什么不用 OutputDebugString 呢?
------解决方案--------------------
搜索 在mfc程序中打开控制台,直接使用printf这些函数来打印,岂不快哉
------解决方案--------------------
线程1
 MessageBox(...);

线程2
 FindWindow(MessageBox窗口);
 FindWindowEx(MessageBox窗口上的字符串空间);
 SetWindowText(...);
------解决方案--------------------
引用:
Quote: 引用:

你所谓的打印麻烦,是指输出非LPTSTR的内容吧。那得封装一个方法:使用sprintf(buffer,"%d", i);然后MessageBox(NULL,buffer,"",0);就好了。


这样会报错,
错误提示:MessageBox不能将第二个参数从CHAR*转化为LPCWSTR,WCHAR*也不行,

TCHAR可以,
但是TCHAR用sprintf的时候会报错:sprintf不能将参数一转化为char*。

这种东西就涉及到Unicode和多字节的编码问题了。如果你认真去Windows API,会发现很多函数,包括
MessageBox都是一个宏定义,
#define MessageBoxA
#define MessageBoxW
分别对应多字节和Unicode。为了区分多字节和Unicode的情况,定义了LPCSTR LPCWSTR等等数据类型,具体表示什么楼主可以自己去转到定义看。所以看函数的时候要注意函数参数的类型,结合当前编译环境的编码类型传递正确的参数。