CAcUiColorComboBox设置默认值?
如何设置CAcUiColorComboBox中的默认项目?SetCurSel(item)似乎不起作用。
**** Hidden Message ***** 没有使用过该类,但看看CAcUiTrueColorComboBox是否有帮助(我的一些评论是西班牙语),看看在哪里阅读:CColorComboDlg dlg(NULL,nc,title);这里
HTH
static void ColorEnCelda(CString captionTitle, CXListCtrl *lst, int row, int column)
{
CAcModuleResourceOverride res;
AcCmColor nc;
// extraer el texto en la celda para conocer que color es...
CString s = lst->GetItemText(row,column);
// antes revisar que tipo de color es
int pos = -1;
pos = s.Find(_T(",")); // primera coma - es color RGB ?
if(pos != -1)
{
CString str = s.TrimLeft(_T(","));
pos = str.Find(_T(",")); // segunda coma
}
if(pos != -1) // es RGB - #,#,#
{
// aqui el valor estara guardado en el formato RGB!
CString resToken;
int curPos = 0;
std::vector vec;
resToken = s.Tokenize(_T(","),curPos);
while (resToken != "")
{
vec.push_back(resToken);
resToken = s.Tokenize(_T(","),curPos);
};
Adesk::UInt8 red,green,blue;
red = _tstoi(vec);
green = _tstoi(vec);
blue = _tstoi(vec);
vec.clear();
nc.setRGB(red,green,blue);
}
else // es index color ?
{
AcGsColor color;
color = AcadColors;
////AcCmColor nc;
nc.setRGB(color.m_red,color.m_green,color.m_blue);
}
//AcGsColor color;
//color = AcadColors;
//AcCmColor nc;
//nc.setRGB(color.m_red,color.m_green,color.m_blue);
CString title = captionTitle + _T(" Seleccionar color");
CColorComboDlg dlg(NULL,nc,title); // HERE
////--------------------------------------------------------------------------
//// aqui es como definimos nuestro icono para la caja de dialogo
//HINSTANCE hMyInstance;
//// instancia a donde este cargada nuestra aplicacion
//hMyInstance = acrxGetApp()->GetModuleInstance();
//// cargamos nuestro icono, el cual dibujamos en el archivo de resources
//HICON hMyIcon = LoadIcon(hMyInstance, MAKEINTRESOURCE(IDI_ICON1));
//if (hMyIcon != NULL) dlg.SetDialogIcon(hMyIcon);
////--------------------------------------------------------------------------
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
CString css,s;
css = dlg.m_RGB; // no use esta variable dejarla por si se requiere despues...!
AcCmColor gcol;
gcol = dlg.c;
if (gcol.isByACI())
{
AcGsColor col;
col = AcadColors;
// mostrar el color en el formato RGB
s.Format(_T("%d,%d,%d"),col.m_red,col.m_green,col.m_blue);
lst->SetItemText(row, column, s, RGB(0,0,0), RGB(col.m_red,col.m_green,col.m_blue));
}
else
{
// mostrar el color en el formato RGB
s.Format(_T("%d,%d,%d"),gcol.red(),gcol.green(),gcol.blue());
lst->SetItemText(row, column, css, RGB(0,0,0), RGB(gcol.red(),gcol.green(),gcol.blue()));
}
}
else if (nResponse == IDCANCEL) { }
}
谢谢Luis,
我发现我需要调用AddItemToMRU,然后将当前选择设置为在MRU列表中显示。
我在这里有点作弊,使用CAcUiColorComboBox来显示我的图层代码1]
是的。。。就是那个(是zip内部的一个电话),
组合框用法看起来不错! 哈!你说得对 我最终使用CComboBoxEx,警告,自带排序方法代码2]
页:
[1]