乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 70|回复: 5

CAcUiColorComboBox设置默认值?

[复制链接]
LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-8 11:53:43 | 显示全部楼层 |阅读模式
如何设置CAcUiColorComboBox中的默认项目?
SetCurSel(item)似乎不起作用。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-8 12:30:10 | 显示全部楼层
没有使用过该类,但看看CAcUiTrueColorComboBox是否有帮助(我的一些评论是西班牙语),看看在哪里阅读:CColorComboDlg dlg(NULL,nc,title);这里
HTH
  1. static void ColorEnCelda(CString captionTitle, CXListCtrl *lst, int row, int column)
  2. {
  3.         CAcModuleResourceOverride res;
  4.        
  5.         AcCmColor nc;
  6.         // extraer el texto en la celda para conocer que color es...
  7.         CString s = lst->GetItemText(row,column);
  8.         // antes revisar que tipo de color es
  9.         int pos = -1;
  10.         pos = s.Find(_T(",")); // primera coma - es color RGB ?
  11.         if(pos != -1)
  12.         {
  13.                 CString str = s.TrimLeft(_T(","));
  14.                 pos = str.Find(_T(",")); // segunda coma
  15.         }
  16.         if(pos != -1) // es RGB - #,#,#
  17.         {
  18.                 // aqui el valor estara guardado en el formato RGB!
  19.                 CString resToken;
  20.                 int curPos = 0;
  21.                 std::vector vec;
  22.                 resToken = s.Tokenize(_T(","),curPos);
  23.                 while (resToken != "")
  24.                 {
  25.                         vec.push_back(resToken);
  26.                         resToken = s.Tokenize(_T(","),curPos);
  27.                 };
  28.                 Adesk::UInt8 red,green,blue;
  29.                 red                = _tstoi(vec[0]);
  30.                 green        = _tstoi(vec[1]);
  31.                 blue        = _tstoi(vec[2]);
  32.                 vec.clear();
  33.                 nc.setRGB(red,green,blue);
  34.         }
  35.         else // es index color ?
  36.         {
  37.                 AcGsColor color;
  38.                 color = AcadColors[_tstoi(s)];
  39.                 ////AcCmColor nc;
  40.                 nc.setRGB(color.m_red,color.m_green,color.m_blue);
  41.         }
  42.         //AcGsColor color;
  43.         //color = AcadColors[8];
  44.         //AcCmColor nc;
  45.         //nc.setRGB(color.m_red,color.m_green,color.m_blue);
  46.         CString title = captionTitle + _T(" Seleccionar color");
  47.         CColorComboDlg dlg(NULL,nc,title); // HERE
  48.         ////--------------------------------------------------------------------------
  49.         //// aqui es como definimos nuestro icono para la caja de dialogo
  50.         //HINSTANCE hMyInstance;
  51.         //// instancia a donde este cargada nuestra aplicacion
  52.         //hMyInstance = acrxGetApp()->GetModuleInstance();
  53.         //// cargamos nuestro icono, el cual dibujamos en el archivo de resources
  54.         //HICON hMyIcon = LoadIcon(hMyInstance, MAKEINTRESOURCE(IDI_ICON1));
  55.         //if (hMyIcon != NULL) dlg.SetDialogIcon(hMyIcon);
  56.         ////--------------------------------------------------------------------------
  57.         INT_PTR nResponse = dlg.DoModal();
  58.         if (nResponse == IDOK)
  59.         {
  60.                 CString css,s;
  61.                 css = dlg.m_RGB; // no use esta variable dejarla por si se requiere despues...!
  62.                 AcCmColor gcol;
  63.                 gcol = dlg.c;
  64.                 if (gcol.isByACI())
  65.                 {
  66.                         AcGsColor col;
  67.                         col = AcadColors[gcol.colorIndex()];
  68.                         // mostrar el color en el formato RGB
  69.                         s.Format(_T("%d,%d,%d"),col.m_red,col.m_green,col.m_blue);
  70.                         lst->SetItemText(row, column, s, RGB(0,0,0), RGB(col.m_red,col.m_green,col.m_blue));
  71.                 }
  72.                 else
  73.                 {
  74.                         // mostrar el color en el formato RGB
  75.                         s.Format(_T("%d,%d,%d"),gcol.red(),gcol.green(),gcol.blue());
  76.                         lst->SetItemText(row, column, css, RGB(0,0,0), RGB(gcol.red(),gcol.green(),gcol.blue()));
  77.                 }
  78.         }
  79.         else if (nResponse == IDCANCEL) { }
  80. }

回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-8 21:42:04 | 显示全部楼层
谢谢Luis,
我发现我需要调用AddItemToMRU,然后将当前选择设置为在MRU列表中显示。
我在这里有点作弊,使用CAcUiColorComboBox来显示我的图层代码1]
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-8 22:33:29 | 显示全部楼层

是的。。。就是那个(是zip内部的一个电话),
组合框用法看起来不错!
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-8 23:46:46 | 显示全部楼层
哈!你说得对
回复

使用道具 举报

LE3

10

主题

149

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2010-9-11 07:35:08 | 显示全部楼层
我最终使用CComboBoxEx,警告,自带排序方法代码2]
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-2 00:00 , Processed in 3.096083 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表