手机
文本输出
摘要:

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


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


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


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);
//函数返回值
}

 保存一下文件

文本输出1,单击编译条上的“构建”按钮

文本输出2,如果出现错误就仔细检查一下,然后单击“执行”按钮

文本输出3,看看又前进一步的程序窗口;


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


上一篇: 鼠标指针
精品推荐
分类导航