mfc输出文字

mfc输出文字,第1张

很简单。

“可以在任何函数中随意(顺序)输出到屏幕(像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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12084770.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存