- 80
- 0
- 约1.25万字
- 约 38页
- 2018-06-03 发布于上海
- 举报
按钮控件与列表框控件
在Workspace窗口中,选择ClassView卡,在类CMy14_8Dlg上单击鼠标右键,选择Add member variable菜单项,加入public型变量如下所示: 变量类型 变量名称 说明 int m_nPenStyle 标志由“线型”组合框中所选择的画笔的类型 int m_nBrushStyle 标志由“填充类型”组合框中所选择的画刷类型 COLORREF m_crPenColor 标志“笔颜色”列表框中所选择的画笔颜色 COLORREF m_crBrushColor 标志“刷子颜色”列表框中所选择的画刷颜色 第32页/共38页 在CMy14_8Dlg.cpp的OnInitDialog()函数中加入代码如下: m_crPenColor = RGB(255,0,0); //默认笔颜色 m_crBrushColor = RGB(255,0,0); //默认刷颜色 m_nPenStyle = PS_SOLID; //默认笔样式 m_nBrushStyle = 0; //默认刷样式为Solid m_ComboPenColor.SetCurSel(0); //设置Pen组合框的当前选项 m_ComboBrushColor.SetCurSel(0); //设置Brush组合框的当前选项 m_ListShape.SetCurSel(0); //设置默认的Shape //设置单选按钮按钮的初始状态 CheckRadioButton(IDC_RADIO_SOLID,IDC_RADIO_DASHDOT,IDC_RADIO_SOLID); CheckRadioButton(IDC_RADIO_SOLIDBRUSH,IDC_RADIO_BDIAGONAL, IDC_RADIO_SOLIDBRUSH); 在这里设置了各变量的初始值。默认笔和刷的颜色为红色,笔的线形为实线,画刷填充类型为实填充。 第33页/共38页 void CMy14_8Dlg::OnRadioSolid() { m_nPenStyle = PS_SOLID;} //笔样式为实线 void CMy14_8Dlg::OnRadioDash() { m_nPenStyle = PS_DASH;} //笔样式为划线 void CMy14_8Dlg::OnRadioDashdot() { m_nPenStyle = PS_DASHDOT;} //笔样式为点划线 void CMy14_8Dlg::OnRadioDot() { m_nPenStyle = PS_DOT;} //笔样式为点线 void CMy14_8Dlg::OnRadioFdiagonal() { m_nBrushStyle = HS_FDIAGONAL;} //填充模式为向上45度线 void CMy14_8Dlg::OnRadioBdiagonal() { m_nBrushStyle = HS_BDIAGONAL;} //填充模式为向下45度线 void CMy14_8Dlg::OnRadioCross() { m_nBrushStyle = HS_CROSS;} //填充模式为交叉线 void CMy14_8Dlg::OnRadioSolidbrush() { m_nBrushStyle = 0;} //填充样式为实填充 第34页/共38页 为列表框添加消息处理函数,设置画刷颜色 void CMy14_8Dlg::OnSelendokComboBrushcolor() {int i; i=m_ComboBrushColor.GetCurSel();//画刷颜色组合框的当前选项标号 if(i==0) { m_crBrushColor = RGB(255,0,0);} //第1项为红色 else if(i==1) {m_crBrushColor = RGB(0,255,0);} //第2项为绿色 else if(i==2) {m_crBrushColor = RGB(0,0,255);} //第3项为蓝色 else if(i==3) {m_crBrushColor = RGB(255,255,0);} //第4项为黄色 else if(i==4) {m_crBrushColor = RGB(0,255,255);} //第5项为天蓝色 } 首先调用函数GetCurSel()得到当前选项在下拉列表框中的位置,然后根据此位置设置颜色变量。 第35页/共38页 为列表框添加消息处理函数,设置画刷颜色 void CMy14_8Dlg::OnSelendokComboPe
原创力文档

文档评论(0)