游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1605|回复: 0

实现画一个大小为客户区大小的椭圆

[复制链接]

2

主题

22

帖子

22

积分

注册会员

Rank: 2

积分
22
QQ
发表于 2007-11-27 13:03:00 | 显示全部楼层 |阅读模式
//////////////////////////////////////////
//Li3_4.cpp
//功能:实现画一个大小为客户区大小的椭圆
// //////////////////////////////////////
//AUTHOR:ZQuan
//DATE:2007/11/27
////////////////////////////////////////

3.4编写一个单文档的MFC应用程序Li3_4,使用CwindowDC类完成例3.3同样的功能。

 (1)使用MFCAppWizard[exe]向导创建一个单文档应用程序Li3_4.

   (2) 进入ClassWizard,在Cli3_4View类中增加消息WM_LBUTTONDOWN的消息响应函数OnLButtonDown().

   (3)  在函数OnLButtonDown()中添加如下代码。

void CLi3_4View::OnLButtonDown(UINT nFlags, CPoint point)

{

       // TODO: Add your message handler code here and/or call default

       CWindowDC   dc(this);           //定义客户区设备环境

    CRect   rec;

    GetClientRect(&rec);            //获得客户区的大小

    dc.Ellipse(rec);                //绘制椭圆

   

       CView::OnLButtonDown(nFlags, point);

}

(4)       编译、链接并运行程序。

   

结果分析与讨论:运行后得到一个超出视图所见区域的矩形;CWinidowDC类与CClientDC类相似,最大的不同就是CWinidowDC在整个就用程序窗口上画图;除非要自己绘制窗口边框和按钮,否则一般不用它。

可见CPaintDC、CClientDC与CWinidowDC有一共同的特点,就是需要使用某个窗口对象定义设备环境。

总结,经过例程3.4的学习,我掌握了以下知识:

1.               使用CwindowDC创建一个对象并将当前窗口对象的地址传递给它,使对象可以获取环境设备

2.               使用Crect创建一个对象

3.               使用GetClientRect成员函数获取窗口坐标,并将坐标值传递给矩形对象

4.               使用CwindowDC的成员函数画一个椭圆
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-17 17:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表