Windows 编程基础

五、文本输出 返回

 

 通过前面的学习,我们已经能够成功地创建一个基本窗口,并进行了简单的修饰,这一课我们进入窗口内部学习;

 

 一个窗口由两部分,内部用户区和非用户区,用户区指用户可以操作的区域,非用户区是指标题栏和四个边框,这些区域产生的消息一般由系统处理;

 

 下面我们来学习怎样在用户区显示一段文字:

 

 1、文字的笔画是由许多小点组成的,点越小字也就越精确细腻,因此显示器的分辨率越高看着就越清楚,

 

 一般是800×600 或者1024×768,大家可以查看一下自己的显示器;

 

 2、用户程序准备好显示内容,向系统提出设备申请,然后用TextOut函数输出到用户区指定的位置,同时还可以设定字体、颜色和效果;

 

 3、启动VC,新建一个名为“Text”的Win32 Application工程,新建一个相同名称的头文件和一个cpp源程序文件,

 

 在头文件中输入函数的申明,在源程序中输入基本框架代码WinMainInitApplication,InitInstance函数,这些和前面都是一样的;

 

 4、加入消息处理代码,我们要求文字和窗口一同显示出来,代码如下(绿色双斜杠部分是注释),有的行太长会自动折到了下一行开头:

 

LRESULT CALLBACK MainWndProc(
    HWND hWnd, UINT message, WP
ARAM wParam, LPARAM lParam)
{
    HDC hdc;
//需要设备
    P
AINTSTRUCT ps;
//使用设备的结构对象

    switch(message)
//需要自己处理的消息
    {
        case W
M_PAINT:
//接收WM_PAINT消息,本消息自动产生
            hdc=BeginPaint(hWnd,&ps);
//申请设备


                SetTextColor(hdc, RGB(240,230,0));
//浅黄色
            //设置前景色,RGB分别代表红色、绿色、蓝色(255,255,255)的叠加;


                 SetBkMode(hdc,TRANSPARENT);
            //背景模式为透明背景;

                TextOut(hdc,20,30,"清晨,来到美丽的校园……",lstrlen("清晨,来到美丽的校园……"));
            //设备,列位置,行位置,内容,测出字数 


             EndPaint(hWnd,&ps); //结束设备使用
            break;
//本条消息处理完毕,

        case W
M_DESTROY:
//退出应用程序,

            PostQuit
Message(0);
//向系统发送一条WM_QUIT消息,
            break;

        default:
//让系统帮着处理的消息
            return (DefWindowProc(hWnd,message,wParam,lParam));
    }
    return(0);
//函数返回值
}

  保存一下文件,单击编译条上的“构建”按钮,如果出现错误就仔细检查一下,然后单击“执行”按钮,看看又前进一步的程序窗口;

 

 本节学习了在用户区输出文字的代码设计,如果你成功地完成了练习,请继续学习下一课内容;

返回

 

 妙笔生花 (在弹出的对话框中选择“运行”、“运行”)

本教程由86团学校TeliuTe制作|著作权所有

基础教程网:http://teliute.org/

美丽的校园……



转载和引用本站内容,请保留作者和本站链接。