Тема: Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?

Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic.
TextBox1.Color=acBlue не работает. Как сделать чтобы работало?

Re: Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?

TextBox1 - это контрол на форме?
Тогда у него свойства BackColor и ForeColor.
Номер цвета можно подсмотреть в панели свойств в режиме конструктора.
Или же TextBox1 - это графический примитив из чертежа? ;)

Re: Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?

TextBox1 это контрол на форме и номер цвета для его свойства BackColor измеряется не от 0 до 255 а 6-9 значным числом. Пока у меня работает следующий код позволяющий задавать цвета от 1 до 7:

Private Function КонверсияЦветаВКодVBA(lngНомЦветаAutoCAD As Long) As Long
   If lngНомЦветаAutoCAD = 1 Then 'Присвоить красный цвет
      КонверсияЦветаВКодVBA = RGB(255, 0, 0)
   ElseIf lngНомЦветаAutoCAD = 2 Then 'Присвоить жёлтый цвет
      КонверсияЦветаВКодVBA = RGB(255, 255, 0)
   ElseIf lngНомЦветаAutoCAD = 3 Then 'Присвоить зелёный цвет
      КонверсияЦветаВКодVBA = RGB(0, 255, 0)
   ElseIf lngНомЦветаAutoCAD = 4 Then 'Присвоить голубой цвет
      КонверсияЦветаВКодVBA = RGB(0, 255, 255)
   ElseIf lngНомЦветаAutoCAD = 5 Then 'Присвоить синий цвет
      КонверсияЦветаВКодVBA = RGB(0, 0, 255)
   ElseIf lngНомЦветаAutoCAD = 6 Then 'Присвоить фиолетовый цвет
      КонверсияЦветаВКодVBA = RGB(255, 0, 255)
   ElseIf lngНомЦветаAutoCAD = 7 Then 'Присвоить белый цвет
      КонверсияЦветаВКодVBA = RGB(255, 255, 255)
   Else
      КонверсияЦветаВКодVBA = lngНомЦветаAutoCAD * lngНомЦветаAutoCAD * lngНомЦветаAutoCAD
'      КонверсияЦветаВКодVBA = lngНомЦветаAutoCAD
   End If
End Function

А как быть с остальными 248 цветами? Помогите пожалуйста!

Re: Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?

В свое время тоже занимался конвертацией цветов из ACADa в RGB. Вот код написанный на C++. На VB переводи сам.

// Массив цветов Автокада
static long wincolors[256]= {
RGB(  0,   0,   0),   // black
RGB(255,   0,   0),   // red
RGB(255, 255,   0),   // yellow
RGB(  0, 255,   0),   // green
RGB(  0, 255, 255),   // cyan
RGB(  0,   0, 255),   // blue
RGB(255,   0, 255),   // magenta
RGB(255, 255, 255),   // white
RGB(152, 152, 152),   // grey -- an educated guess
RGB(192, 192, 192),   // light grey -- an educated guess
RGB(255,   0,   0),RGB(255, 128, 128),RGB(166,   0,   0),
RGB(166,  83,  83),RGB(128,   0,   0),RGB(128,  64,  64),RGB( 76,   0,   0),
RGB( 76,  38,  38),RGB( 38,   0,   0),RGB( 38,  19,  19),RGB(255,  64,   0),
RGB(255, 159, 128),RGB(166,  41,   0),RGB(166, 104,  83),RGB(128,  32,   0),
RGB(128,  80,  64),RGB( 76,  19,   0),RGB( 76,  48,  38),RGB( 38,  10,   0),
RGB( 38,  24,  19),RGB(255, 128,   0),RGB(255, 191, 128),RGB(166,  83,   0),
RGB(166, 124,  83),RGB(128,  64,   0),RGB(128,  96,  64),RGB( 76,  38,   0),
RGB( 76,  57,  38),RGB( 38,  19,   0),RGB( 38,  29,  19),RGB(255, 191,   0),
RGB(255, 223, 128),RGB(166, 124,   0),RGB(166, 145,  83),RGB(128,  96,   0),
RGB(128, 112,  64),RGB( 76,  57,   0),RGB( 76,  67,  38),RGB( 38,  29,   0),
RGB( 38,  33,  19),RGB(255, 255,   0),RGB(255, 255, 128),RGB(166, 166,   0),
RGB(166, 166,  83),RGB(128, 128,   0),RGB(128, 128,  64),RGB( 76,  76,   0),
RGB( 76,  76,  38),RGB( 38,  38,   0),RGB( 38,  38,  19),RGB(191, 255,   0),
RGB(223, 255, 128),RGB(124, 166,   0),RGB(145, 166,  83),RGB( 96, 128,   0),
RGB(112, 128,  64),RGB( 57,  76,   0),RGB( 67,  76,  38),RGB( 29,  38,   0),
RGB( 33,  38,  19),RGB(128, 255,   0),RGB(191, 255, 128),RGB( 83, 166,   0),
RGB(124, 166,  83),RGB( 64, 128,   0),RGB( 96, 128,  64),RGB( 38,  76,   0),
RGB( 57,  76,  38),RGB( 19,  38,   0),RGB( 29,  38,  19),RGB( 64, 255,   0),
RGB(159, 255, 128),RGB( 41, 166,   0),RGB(104, 166,  83),RGB( 32, 128,   0),
RGB( 80, 128,  64),RGB( 19,  76,   0),RGB( 48,  76,  38),RGB( 10,  38,   0),
RGB( 24,  38,  19),RGB(  0, 255,   0),RGB(128, 255, 128),RGB(  0, 166,   0),
RGB( 83, 166,  83),RGB(  0, 128,   0),RGB( 64, 128,  64),RGB(  0,  76,   0),
RGB( 38,  76,  38),RGB(  0,  38,   0),RGB( 19,  38,  19),RGB(  0, 255,  64),
RGB(128, 255, 159),RGB(  0, 166,  41),RGB( 83, 166, 104),RGB(  0, 128,  32),
RGB( 64, 128,  80),RGB(  0,  76,  19),RGB( 38,  76,  48),RGB(  0,  38,  10),
RGB( 19,  38,  24),RGB(  0, 255, 128),RGB(128, 255, 191),RGB(  0, 166,  83),
RGB( 83, 166, 124),RGB(  0, 128,  64),RGB( 64, 128,  96),RGB(  0,  76,  38),
RGB( 38,  76,  57),RGB(  0,  38,  19),RGB( 19,  38,  29),RGB(  0, 255, 191),
RGB(128, 255, 223),RGB(  0, 166, 124),RGB( 83, 166, 145),RGB(  0, 128,  96),
RGB( 64, 128, 112),RGB(  0,  76,  57),RGB( 38,  76,  67),RGB(  0,  38,  29),
RGB( 19,  38,  33),RGB(  0, 255, 255),RGB(128, 255, 255),RGB(  0, 166, 166),
RGB( 83, 166, 166),RGB(  0, 128, 128),RGB( 64, 128, 128),RGB(  0,  76,  76),
RGB( 38,  76,  76),RGB(  0,  38,  38),RGB( 19,  38,  38),RGB(  0, 191, 255),
RGB(128, 223, 255),RGB(  0, 124, 166),RGB( 83, 145, 166),RGB(  0,  96, 128),
RGB( 64, 112, 128),RGB(  0,  57,  76),RGB( 38,  67,  76),RGB(  0,  29,  38),
RGB( 19,  33,  38),RGB(  0, 128, 255),RGB(128, 191, 255),RGB(  0,  83, 166),
RGB( 83, 124, 166),RGB(  0,  64, 128),RGB( 64,  96, 128),RGB(  0,  38,  76),
RGB( 38,  57,  76),RGB(  0,  19,  38),RGB( 19,  29,  38),RGB(  0,  64, 255),
RGB(128, 159, 255),RGB(  0,  41, 166),RGB( 83, 104, 166),RGB(  0,  32, 128),
RGB( 64,  80, 128),RGB(  0,  19,  76),RGB( 38,  48,  76),RGB(  0,  10,  38),
RGB( 19,  24,  38),RGB(  0,   0, 255),RGB(128, 128, 255),RGB(  0,   0, 166),
RGB( 83,  83, 166),RGB(  0,   0, 128),RGB( 64,  64, 128),RGB(  0,   0,  76),
RGB( 38,  38,  76),RGB(  0,   0,  38),RGB( 19,  19,  38),RGB( 64,   0, 255),
RGB(159, 128, 255),RGB( 41,   0, 166),RGB(104,  83, 166),RGB( 32,   0, 128),
RGB( 80,  64, 128),RGB( 19,   0,  76),RGB( 48,  38,  76),RGB( 10,   0,  38),
RGB( 24,  19,  38),RGB(128,   0, 255),RGB(191, 128, 255),RGB( 83,   0, 166),
RGB(124,  83, 166),RGB( 64,   0, 128),RGB( 96,  64, 128),RGB( 38,   0,  76),
RGB( 57,  38,  76),RGB( 19,   0,  38),RGB( 29,  19,  38),RGB(191,   0, 255),
RGB(223, 128, 255),RGB(124,   0, 166),RGB(145,  83, 166),RGB( 96,   0, 128),
RGB(112,  64, 128),RGB( 57,   0,  76),RGB( 67,  38,  76),RGB( 29,   0,  38),
RGB( 33,  19,  38),RGB(255,   0, 255),RGB(255, 128, 255),RGB(166,   0, 166),
RGB(166,  83, 166),RGB(128,   0, 128),RGB(128,  64, 128),RGB( 76,   0,  76),
RGB( 76,  38,  76),RGB( 38,   0,  38),RGB( 38,  19,  38),RGB(255,   0, 191),
RGB(255, 128, 223),RGB(166,   0, 124),RGB(166,  83, 145),RGB(128,   0,  96),
RGB(128,  64, 112),RGB( 76,   0,  57),RGB( 76,  38,  67),RGB( 38,   0,  29),
RGB( 38,  19,  33),RGB(255,   0, 128),RGB(255, 128, 191),RGB(166,   0,  83),
RGB(166,  83, 124),RGB(128,   0,  64),RGB(128,  64,  96),RGB( 76,   0,  38),
RGB( 76,  38,  57),RGB( 38,   0,  19),RGB( 38,  19,  29),RGB(255,   0,  64),
RGB(255, 128, 159),RGB(166,   0,  41),RGB(166,  83, 104),RGB(128,   0,  32),
RGB(128,  64,  80),RGB( 76,   0,  19),RGB( 76,  38,  48),RGB( 38,   0,  10),
RGB( 38,  19,  24),RGB( 84,  84,  84),RGB(118, 118, 118),RGB(152, 152, 152),
RGB(187, 187, 187),RGB(221, 221, 221),RGB(255, 255, 255) };
...............
COLORREF colRef = wincolors[color]; // выбираем цвет