MFC中颜色的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MFC中颜色的使用
实验内容:
(1) 创建一个MFC单文档应用程序
(2) 选择菜单项 Insert\Resource,选择Dialog,选择New按钮。
将生成的对话框ID更改为IDD_MyColorDialog
(3)编辑器对话框IDD_MyColorDialog ,所用到的控件及ID、
Caption,如下表。
最终完成的对话框界面如图所示。
(4)选择菜单项 View\ClassWizard,选择”Create a new class”,新创建的类名称为CMyColorDialog
在ClassWisard中选取属性表Member Variables后,
为控件IDC_R、IDC_G和IDC_B分别映射int类型成员变量m_nR、m_nG和m_nB。
在ClassWisard中选取属性表Message Maps,为CMyColorDialog的消息WM_INITDIALOG映射函数OnInitDialog(),并单击Edit Code按钮为OnInitDialog函数编写初始化代码。
BOOL CMyColorDialog::OnInitDialog()
{
CDialog::OnInitDialog();
this->m_nR=0;
this->m_nG = 0;
this->m_nB = 0;
this->UpdateData(FALSE); //将设定的变量值传送给对应的控件
return TRUE;
}
(5)对视图类进行编辑,用于激活对话框,并进行绘图。
步骤 5.1:添加一个菜单项并映射对应的Command 消息,生成对应的函数。
步骤5.2:在ClassView面板中选中View类,鼠标右键单击选择Add Member Variable,输入内容如下图所示
步骤5.3:View类中激活对话框的代码如下
void CLi4_1View::OnColor()
{
// TODO: Add your command handler code here dlg.DoModal();
this->Invalidate();
}
步骤5.4:View类中使用对话框后的效果代码如下void CLi4_1View::OnDraw(CDC* pDC)
{
CLi4_1Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here CBrush brush; //根据对话框设定的颜色值设定brush的颜色
brush.CreateSolidBrush(RGB(dlg.m_nR,dlg.m_n G,dlg.m_nB));
//将brush选入GDI环境
pDC->SelectObject(&brush);
//在客户区中画矩形
pDC->Rectangle(100,100,200,300);
}
Windows提供了一组标准用户界面对话框,它们都有相应的MFC库中的类来支持。
所有这些通用对话框类都是从一个公共的基类CCommonDialog派生而来。
表列出了这些通用对话框
类的方法函数:
COLORREF GetColor():获取当前所选中的颜色
最后的运行结果如下图所示
通用对话框运行如下图所示
[文档可能无法思考全面,请浏览后下载,另外祝您生活愉快,工作顺利,万事如意!]。