读书人

怎么实现直接在屏幕下输出文字

发布时间: 2012-08-16 12:02:15 作者: rapoo

如何实现直接在屏幕上输出文字
注意啊,不是用mfc程序输出在程序上面,而是调用后直接显示在屏幕上,可以自定义文字大小,颜色,位置等,程序可以是一个mfc程序,也可以是一个控制台程序,调用后就直接在屏幕上画上了一段文字,过N秒后消失

[解决办法]
TextOut(x,y,...)
[解决办法]
void CMainFrame::OnScreenfont()
{
// TODO: Add your command handler code here
//CDC * pDC = CWnd::GetDesktopWindow()->GetDC();
//pDC ->TextOut(0 ,0, "font");
CWindowDC dc(NULL);

CFont myFont;
myFont.CreateFont (
120, // nHeight 字体高度
40, // nWidth 字体宽度
0, // nEscapement 显示角度
0, // nOrientation 字体角度
FW_NORMAL, // nWeight 字体磅值
FALSE, // bItalic 是否倾斜
FALSE, // bUnderline 是否斜体
0, // cStrikeOut 是否加删除线
ANSI_CHARSET, // nCharSet 指定字符集
OUT_DEFAULT_PRECIS, // nOutPrecision 指定输出精度
CLIP_DEFAULT_PRECIS, // nClipPrecision 指定剪切精度
DEFAULT_QUALITY, // nQuality 指定输出质量
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily 字符族
"Arial"); // 指定字体的字样名

CFont* oldFont = dc.SelectObject ( &myFont);
dc.SetTextColor (RGB (255,0,0));

dc.SetBkMode ( TRANSPARENT); //背景模式为透明

dc.TextOut(200,200,"屏幕上显示文字");

dc.SelectObject ( oldFont);
}
[解决办法]
这是我前不久看到的,不知道是不是你要的.
[解决办法]
你所谓的显示文字,也是要有载体的,WINDOWS上你最好依靠WINDOW去显示,窗体透明而已,除非你直接读写显存,有些游戏有这种情况。
[解决办法]

探讨
你所谓的显示文字,也是要有载体的,WINDOWS上你最好依靠WINDOW去显示,窗体透明而已,除非你直接读写显存,有些游戏有这种情况。

[解决办法]
其实CWindowDC,可以获取窗口设备环境,然后调用函数就可以输出了!不知道是不是你要的!
[解决办法]
探讨
void CMainFrame::OnScreenfont()
{
// TODO: Add your command handler code here
// CDC * pDC = CWnd::GetDesktopWindow()->GetDC();
// pDC ->TextOut(0 ,0, "font");
CWindowDC dc(NULL);

CFont myFont;
myFont.CreateFont (
  120,                        // nHeight 字体高度
  40,                        // nWidth  字体宽度
  0,                        // nEscapement 显示角度
  0,                        // nOrientation 字体角度
  FW_NORMAL,                // nWeight 字体磅值
  FALSE,                    // bItalic 是否倾斜
  FALSE,                    // bUnderline 是否斜体
  0,                        // cStrikeOut 是否加删除线
  ANSI_CHARSET,              // nCharSet 指定字符集
  OUT_DEFAULT_PRECIS,        // nOutPrecision 指定输出精度
  CLIP_DEFAULT_PRECIS,      // nClipPrecision 指定剪切精度
  DEFAULT_QUALITY,          // nQuality 指定输出质量
  DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily 字符族
  "Arial");                  // 指定字体的字样名



CFont* oldFont = dc.SelectObject ( &myFont);
dc.SetTextColor (RGB (255,0,0));

dc.SetBkMode ( TRANSPARENT);    //背景模式为透明

    dc.TextOut(200,200,"屏幕上显示文字");

dc.SelectObject ( oldFont);
}


[解决办法]
探讨
void CMainFrame::OnScreenfont()
{
// TODO: Add your command handler code here
// CDC * pDC = CWnd::GetDesktopWindow()->GetDC();
// pDC ->TextOut(0 ,0, "font");
CWindowDC dc(NULL);

CFont myFont;
myFont.CreateFont (
  120,                        // nHeight 字体高度
  40,                        // nWidth  字体宽度
  0,                        // nEscapement 显示角度
  0,                        // nOrientation 字体角度
  FW_NORMAL,                // nWeight 字体磅值
  FALSE,                    // bItalic 是否倾斜
  FALSE,                    // bUnderline 是否斜体
  0,                        // cStrikeOut 是否加删除线
  ANSI_CHARSET,              // nCharSet 指定字符集
  OUT_DEFAULT_PRECIS,        // nOutPrecision 指定输出精度
  CLIP_DEFAULT_PRECIS,      // nClipPrecision 指定剪切精度
  DEFAULT_QUALITY,          // nQuality 指定输出质量
  DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily 字符族
  "Arial");                  // 指定字体的字样名

CFont* oldFont = dc.SelectObject ( &myFont);
dc.SetTextColor (RGB (255,0,0));

dc.SetBkMode ( TRANSPARENT);    //背景模式为透明

    dc.TextOut(200,200,"屏幕上显示文字");

dc.SelectObject ( oldFont);
}

[解决办法]
探讨
注意啊,不是用mfc程序输出在程序上面,而是调用后直接显示在屏幕上,可以自定义文字大小,颜色,位置等,程序可以是一个mfc程序,也可以是一个控制台程序,调用后就直接在屏幕上画上了一段文字,过N秒后消失

读书人网 >VC/MFC

热点推荐