全球旧事资料 分类

Sele
dokComboBrushColori
t
m_BrushColorGetCurSel
switch
case6m_Curre
tBrushColorRGB25500breakcase5m_Curre
tBrushColorRGB02550breakcase4m_Curre
tBrushColorRGB00255breakcase3m_Curre
tBrushColorRGB2552550breakcase2m_Curre
tBrushColorRGB2550255breakcase1m_Curre
tBrushColorRGB0255255breakdefaultm_Curre
tBrushColorRGB255255255break
这两个函数能将光标的选择转换为画笔或画刷的颜色。不过,当然必
须先给组合框添加过一个CBN_SELENDOK消息!
4页脚内容
f重庆交通学院计算机与信息学院课程设计任务书
然后点击”形状”下的”圆角矩形”,这时thism_ShapeGetSel1其值为TRUE,表明”圆角矩形”被选中了,当然,其它两个m_ShapeGetSel0和m_ShapeGetSel2都为FALSE。
在画图前,如果你足够细心,你会注意到刚才在选颜色时,如果颜色还没有选定,它周围就会有一个当前颜色的色圈,而当颜色已选定时,色圈就会变为彩色背景,这是因为之前给类CMy0910200155Dlg添加了WM_CTLCOLOR消息,因此当触发该消息时,会调用,
HBRUSHCMy0910200155DlgO
CtlColorCDCpDCCW
dpW
dUINT
CtlColor
HBRUSHhbrCDialogO
CtlColorpDCpW
d
CtlColor
ifpW
dGetDlgCtrlIDIDC_COMBO_PEN_COLOR
hbrCreateSolidBrushthism_Curre
tPe
ColorpDCSetBkColorthism_Curre
tPe
ColorifpW
dGetDlgCtrlIDIDC_COMBO_BRUSH_COLORhbrCreateSolidBrushthism_Curre
tBrushColorpDCSetBkColorthism_Curre
tBrushColorretur
hbr该方法可以实现控件颜色的改变,考虑到界面的简洁(不是简单)和色彩协调,其它控件的颜色就不必改变了。
做好了这些准备工作,现在我们开始绘图,点击”绘图”按钮,就触发了
IDC_BUTTON_DRAW的BN_CLICKED消息,会调用,
voidCMy0910200155DlgO
Butto
Draw

flag1
flag11
O
Pai
t
thisGetDlgItemIDC_BUTTON_LOADE
ableWi
dowFALSE

在这里,我们只将flag1和flag11条件下的O
Pai
t函数展开系统
自己生成的代码我们略去,
ifi
dex0

thisGetDlgItemIDC_BUTTON_CLEANE
ableWi
dowFALSE

根据判断确定”撤消”按钮的状态,若绘图区没有图形,则其失
效。
5页脚内容
f重庆交通学院计算机与信息学院课程设计任务书
ifflag1flag2flag3

CClie
tDCdcthis

CPe
pNewPe
1
pNewPe
1CreatePe
PS_SOLID2RGB8080180
CPe
pOldPe
1dcSelectObjectpNewPe
1
CBrushpNewBrush1
pNewBrush1CreateSolidBrushRGB8080180
CBrushpOldBrush1dcSelectObjectpNewBrush1
CRectrect1
thisGetDlgItemIDC_DRAW_PLACEGetWi
dowRectrect1
thisScree
ToClie
trect1
CRect
draw1rect1left3rect1top9rect1right2rect1bottom2
dcRecta
gledraw1
dcSelectObjectpOldPe
1
dcSelectObjectpOldBrush1

此为所r
好听全球资料 返回顶部