Тема: Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?
Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic.
TextBox1.Color=acBlue не работает. Как сделать чтобы работало?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic.
TextBox1.Color=acBlue не работает. Как сделать чтобы работало?
TextBox1 - это контрол на форме?
Тогда у него свойства BackColor и ForeColor.
Номер цвета можно подсмотреть в панели свойств в режиме конструктора.
Или же TextBox1 - это графический примитив из чертежа? ;)
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 цветами? Помогите пожалуйста!
В свое время тоже занимался конвертацией цветов из 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]; // выбираем цвет
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Помогите конвертировать номер цвета из стиля AutoCAD в стиль VisualBasic?
Форум работает на PunBB, при поддержке Informer Technologies, Inc