Windows 编程基础
五、文本输出 返回
通过前面的学习,我们已经能够成功地创建一个基本窗口,并进行了简单的修饰,这一课我们进入窗口内部学习;
一个窗口由两部分,内部用户区和非用户区,用户区指用户可以操作的区域,非用户区是指标题栏和四个边框,这些区域产生的消息一般由系统处理;
下面我们来学习怎样在用户区显示一段文字:
1、文字的笔画是由许多小点组成的,点越小字也就越精确细腻,因此显示器的分辨率越高看着就越清楚,
一般是800×600 或者1024×768,大家可以查看一下自己的显示器;
2、用户程序准备好显示内容,向系统提出设备申请,然后用TextOut函数输出到用户区指定的位置,同时还可以设定字体、颜色和效果;
3、启动VC,新建一个名为“Text”的Win32 Application工程,新建一个相同名称的头文件和一个cpp源程序文件,
在头文件中输入函数的申明,在源程序中输入基本框架代码WinMain和InitApplication,InitInstance函数,这些和前面都是一样的;
4、加入消息处理代码,我们要求文字和窗口一同显示出来,代码如下(绿色双斜杠部分是注释),有的行太长会自动折到了下一行开头:
LRESULT   
CALLBACK MainWndProc(
      
    HWND hWnd,	UINT message, WPARAM wParam,   
LPARAM lParam)
         
{
    HDC hdc;  //需要设备
        
    PAINTSTRUCT ps;  //使用设备的结构对象
        
    switch(message)  //需要自己处理的消息
        
    {
        
        case         
 WM_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        
 WM_DESTROY://退出应用程序,
      
            PostQuitMessage(0);//向系统发送一条WM_QUIT消息,  
            break;
       
        default:        
 //让系统帮着处理的消息
            return        
(DefWindowProc(hWnd,message,wParam,lParam));
       
    }
       
    return(0);//函数返回值
       
}
  保存一下文件
,单击编译条上的“构建”按钮
,如果出现错误就仔细检查一下,然后单击“执行”按钮
,看看又前进一步的程序窗口;
本节学习了在用户区输出文字的代码设计,如果你成功地完成了练习,请继续学习下一课内容;
妙笔生花 (在弹出的对话框中选择“运行”、“运行”)
本教程由86团学校TeliuTe制作|著作权所有
基础教程网:http://teliute.org/
美丽的校园……
转载和引用本站内容,请保留作者和本站链接。