|
第十讲 图形的保存、颜色对话框、位图 |
第十讲 图形的保存、颜色对话框、位图 (1)DC.SetPixel(point,RGB())用于画点。DC.Rectangle()画矩形、 DC.Ellipse()画椭圆。 (2)透明画刷指针:CBrush *pBrush=CBrush::FromHandle((CBrush) GetStockObject(NULL_BRUSH)); FromHandle为静态成员函数。 (3)if(IDOK==DLG.DoModal())因是模态对话框,所以可以。。。 (4)CColorDialog颜色对话框类,也用CDialog方式去创建。CColorDialog成员变量m_cc.rgbResult保存了最终的选择结果、而mcc.Flags表明是否使能初始颜色。如果是mcc.Flags |= cc_RGBINIT,则可以使能。mcc.Flags |= cc_RGBINIT | CC_FULLOPEN则为完全展开. (5)COLORREF宏和RGB宏相当. (6)字体对话框和颜色对话框差不多。m_cf.lpLogFont->lpName即为字名称 CreateIndictFont(logfont)用于创建选定的logfont字体。CGdiObject::DeleteObject()去掉枢纽 (***)GetWindowRect(rect)得到的是一个screen坐标. 用ScreenToClient(rect);进行转换. (&&)如果想使的关联的变量能够在不按OK等键时自动使变量有值,才必调用UpdateData(); (*)控件绘色:用得是WM_CTLCOLOR;响应函数是OnCtlColor(pdc,*Cwnd,类型) (*)GetDlgCtrlID()可得到对话框中控件的地址。 (1)设置文本的背景色:dc.SetBKMode(TRANSPARENT) 而dc.SetBKColor()一般设置控件的背景色 (2)记住CButon是不能随便被绘置得,一般通过DERIVE一个CBUTTON类来进行搞定。CButton:;DrawItem()对关联的DERIVE 的BTN文本进行颜色改变,且要设置“属性”中的ownerDraw。 (3)贴图:GetClientRect()获得客户区的RECT。创建兼容DC: compatibledc.CreateCompatibleDC(当前DC);BitBlt()创建一比一的位图拷贝。StreTchBlt()具有压缩能力的位图拷贝。 (4)CBitmap::GetBitmap(&BITMAP) 可得到位图相关信息。
500)this.width=500'> | |
|
|
|
|