为了账号安全,请及时绑定邮箱和手机立即绑定

是这样的,想输出一段文字,请问怎样在vc++的Win32应用程序中的任意位置输出文字?

是这样的,想输出一段文字,请问怎样在vc++的Win32应用程序中的任意位置输出文字?

达令说 2021-07-14 15:11:22
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){PAINTSTRUCT ps;HDC hdc;TCHAR greeting[] = _T("Hello, World!");switch (message){case WM_PAINT:hdc = BeginPaint(hWnd, &ps);out "Hello, World!"// in the top left corner.TextOut(hdc,5, 5,greeting, _tcslen(greeting));EndPaint(hWnd, &ps);break;case WM_DESTROY:PostQuitMessage(0);break;default:return DefWindowProc(hWnd, message, wParam, lParam);break;}大家帮帮我~吧这个程序改一改,让它在窗口的任意位置输出"Hello World!",谢谢啦~
查看完整描述

3 回答

?
森林海

TA贡献2011条经验 获得超2个赞

  1. 可以使用TextOut函数。

    函数功能:该函数用当前选择的字体、背景颜色和正文颜色将一个字符串写到指定位置。
    函数原型:
    BOOL TextOut(
    HDC hdc, // 设备描述表句柄
    int nXStart, // 字符串的开始位置 x坐标
    int nYStart, // 字符串的开始位置 y坐标
    LPCTSTR lpString, // 字符串
    int cbString // 字符串中字符的个数
    );
    参数:
    hdc
    [输入] 设备环境的句柄
    nXStart
    [输入] 指定用于字符串对齐的基准点的逻辑X坐标。
    nYStart
    [输入] 指定用于字符串对齐的基准点的逻辑Y坐标。
    lpString
    [输入] 指向将被绘制字符串的指针。此字符串不必为以\0结束的,因为cbString中指定了字符串的长度。
    cbString
    [输入] 指定了字符串的长度。
    返回值:
    如果函数调用成功,返回值为非零值。
    如果函数调用失败,返回值为0。

  2. 例子:


    CStudentDoc* pDoc = GetDocument();    char buffer[10];CString age;pDC->TextOut(0,0,"NAME: "+pDoc->m_name);      //在坐标(0,0)位置输出“NAME:”名字_itoa(pDoc->m_age,buffer,10);          //将整型数据转化成字符串age=buffer;pDC->TextOut(0,40,"AGE: "+age);        //在坐标(0,40)位置输出“AGE:”年龄


查看完整回答
反对 回复 2021-07-25
  • 3 回答
  • 0 关注
  • 301 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信