
“可以在任何函数中随意(顺序)输出到屏幕(像CMD似的黑框框),”是不是要直接写屏?
CWnd* pDeskWnd = GetDesktopWindow()
CDC* pdc = pDeskWnd->GetDC()
// 可以选择文字字体,颜色透明性等
pdc->TextOut( 100, 100, _T("输出文字"))
pDeskTop->ReleaseDC(pdc)
这样就可以在屏幕的任何位置然后时候输出文字,当然输出后如果被刷新就消失了。
“我想在MFC中也能把函数中的计算结果随时输出到文档的窗口”。也就是直接在MFC程序中,输出结果到窗口吧
CDC*pdc = GetDC()
pdc->TextOut( 100, 100, _T("输出文字"))
ReleaseDC(pdc)
在窗口位置输出文字。
在界面上定义一个EditBox(CEdit类)或者StaticText(CStatic类)控件,使用该类的SetWindowText成员函数把文本写到控件中显示。
控制台终端的输出流的话,可以用strstream 或stringstream 代替iostream 作为流,流输出完成后,生成的字符串都在流缓冲中,程序可以直接把流缓冲的内容写到控件中。
注意,老的编译器可能不支持 stringstream,就只有使用 strstream 了,用法可以到网上搜索,例子很多。
要看你的具体什么背景,具体如何输出文字。简单点的:设置文字可以使用SetWindowText,或者使用CEditView成员函数GetEditCtrl,由它获取CEdit对象后,可以使用CEdit的成员函数 *** 作,就想使用编辑框控件一样。设置背景的话,可以添加消息响应ON_WM_CTLCOLOR_REFLECT()
类向导里找到=WM_CTLCOLOR这个消息,添加即可。
在里面pDC->SetBkColor(RGB(222,
222,
222))设置文字的背景等等,
而整个CEditView区域的背景需要定义一个成员变量
private:
HBRUSH
m_brush
你可以在构造函数中创建画刷m_brush
=
CreateSolidBrush(RGB(111,
111,
111))
析构中DeleteObject(m_brush)
在之前的那个=WM_CTLCOLOR消息响应函数中
return
m_brush
更多功能,参考:http://msdn.microsoft.com/zh-cn/library/vstudio/5wdbckhy.aspx
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)