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

解决方案 »

  1.   

    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);
    }
      

  2.   

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

  3.   

    其实CWindowDC,可以获取窗口设备环境,然后调用函数就可以输出了!不知道是不是你要的!
      

  4.   

    这个好像不是吧!楼主
    msdn结束The GetDesktopWindow function returns a handle to the desktop window. The desktop window covers the entire screen. The desktop window is the area on top of which other windows are painted. 
      

  5.   

    不知道OnScreenfont()是什么函数?是自定义的函数?还是通过添加消息自动生成的啊?
    学习下
      

  6.   

    void CScreenFontView::OnScreenfont() 
    {
    CDlg dlg;
    dlg.DoModal();
    CString str;
    int x,y;
    UpdateData();
    str=dlg.m_edit;
            x=dlg.m_x;
    y=dlg.m_y;

    CWindowDC dc(NULL);
    CFont myFont;
    myFont.CreateFont(
    160,
    40,
    0,
    0,
    FW_NORMAL,
    true,
    false,
    0,
    ANSI_CHARSET,
    OUT_DEFAULT_PRECIS,
    CLIP_DEFAULT_PRECIS,
    DEFAULT_QUALITY,
    DEFAULT_PITCH|FF_SWISS,
    "Arial");
    CFont *oldFont=dc.SelectObject(&myFont);
    dc.SetTextColor(RGB(255,0,0));
    dc.SetBkMode(TRANSPARENT);
    dc.TextOut(x,y,str);
    dc.SelectObject(oldFont);
    UpdateData(FALSE);

    }
    CDlg 是与新建的一个对话框相关联的类,里面m_edit,m_x,m_y,是与对话框内三个编辑框控件相关联的变量,onscreenfont 是一个菜单的映射函数。这个可以实现点击菜单,弹出对话框,输入要显示的文字和位置,不过屏幕刷新一下文字就会消失