VC视频教程笔记!(10课)

作者在 2009-03-09 09:31:44 发布以下内容

第10课
1.画图:
     a.创建四个菜单,为其添加消息响应;
     b.在View中添加m_DrawType,保存绘画类型;
     c.增加成员变量,m_PtOrigin,当按下鼠标左键时,保存此点;
     d.在OnLButtonUp中画点,线,矩形,椭圆,别忘记设置成透明画刷
2.为其添加一个设置对话框(线型和线宽)
     a.创建对话框,为其创建一个新类关联它;
     b.为其中的线宽关联成员变量;
     c.在View中增加一个菜单,响应新的对话框;
     d.添加线型选项设置,将其Group属性选中,并为单选按纽关联成员变量。在view中增加一个线型变量m_nLineStyle
3.添加一个颜色对话框
     a.实例化一个CColorDialog
     b.调用DoModal方法
4.添加字体对话框,将选择的字体在View中显示出来。
     a.实例化一个对象;
     b.为View添加一个字体成员变量,得到用户选择的字体。
     c.调用Invadate()发出重绘消息;
     d.再次注意一个对象只能创建一次,故要再次创建,必须将原告的删除!
5.为设置对话框增加示例功能。
     a.当控件内容改变时,发出En_change消息。而Radio按纽则为Clicked。需先UpdateData()。另外还需要ScreenToClient(&rect)
6.改变对话框的背景色和控件颜色。
    每个控件被绘制时都发出WM_CTlColor消息,
7.如何改变OK按纽的字体和背景?
    OK按纽
    a.创建一个新类,CTestBtn,基类为CButton
    b.在类中增加虚函数,DrawItem,添加代码。
    c.将OK按纽关联成员变量。类型为CTestBtn,注意将OK按纽的OwnerDraw特性选中。
    Cancel按纽
    用新类来改变。
    a.加入新文件。
    b.为Cancel关联一个成员变量,类型为CSXBtn;
    c.调用CSXBtn的方法。
    Cancel2按纽
    a.方法同上。
8.在窗口中贴图,4个步骤
    1、创建位图
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
2、创建兼容DC
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
3、将位图选到兼容DC中
dcCompatible.SelectObject(&bitmap);
4、将兼容DC中的位图贴到当前DC中。在WM_EraseBkgnd()中调用,但不能再调用基类的擦除背景函数。也可以在OnDraw函数中完成,但效率低,图像会闪烁,因为它先擦除背景,慢。
pDC->BitBlt(rect.left,rect.top,rect.Width(),
rect.Height(),&dcCompatible,0,0,SRCCOPY);

VC++ | 阅读 2497 次
文章评论,共0条
游客请输入验证码
浏览196723次