关于ColorDialog的问题
菜单上点击一个按钮,要自动产生一个颜色框
(我的工程中没有定义任何关于颜色框的类)
void CDrawDoc::OnColorSetting()
{
// TODO: Add your command handler code here
ColorDialog dlg; //这句好像不对。系统认识ColorDialog
.........
}
请高手帮忙指点。给出代码
问题点数:30、回复次数:2Top
1 楼lifengyu(凤羽)回复于 2004-11-03 20:26:10 得分 10
CColorDialog dlg;Top
2 楼alon21(Alon.飘一族)回复于 2004-11-03 20:29:08 得分 20
//使用颜色对话框(CColorDialog)
在自定义函数或按钮的事件中添加如下代码:
COLORREF colorRef;
BYTE cRValue, cGValue, cBValue;
int nCustColorNo;
CString strDisplay;
int nFlags=CC_FULLOPEN|CC_SHOWHELP;
CColorDialog aDlg(RGB(0,255,255),nFlags);
if(aDlg.DoModal()==IDOK)
{//在这里增加用户按了"确定"按钮时的处理
colorRef=aDlg.GetColor();
cRValue=GetRValue(colorRef);
cGValue=GetGValue(colorRef);
cBValue=GetBValue(colorRef);
strDisplay.Format("数选择的颜色:(%d,%d,%d)",cRValue,cGValue,cBValue);
AfxMessageBox(strDisplay);
//得到并显示自定义的颜色
COLORREF *pColor=aDlg.GetSavedCustomColors();
strDisplay="用户自定义颜色:";
CString strTemp;
nCustColorNo=0;
for(int i=0;i<16;i++)
{
cRValue=GetRValue(pColor[i]);
cGValue=GetGValue(pColor[i]);
cBValue=GetBValue(pColor[i]);
if( cRValue!=255||
cRValue!=255||
cRValue!=255)
{
strTemp.Format("(%d,%d,%d)",cRValue,cGValue,cGValue);
if(nCustColorNo>0)
strDisplay+=",";
strDisplay+=strTemp;
nCustColorNo++;
}
}
AfxMessageBox(strDisplay);
}
else
{//在这里增加用户按了"取消"按钮时的处理
}Top




