Страница: 1 |
Люди, помогите! Программирую на VB6, и возникла проблема неправильного отображения цветов в элементе WebBrowser. T.e., в диалоговом окне "ShowColor" я выбираю, например, красный, чтобы присвоить его тексту, но текст становится синим. Некоторые цвета передаются точно, но многие с вышеуказанной проблемой. Использую Internet Explorer version 5.0. С надеждой на помощь Дмитрий
Страница: 1 |
Вопрос: Неправильное отображение цветов в WebBrowser
Добавлено: 27.11.03 01:55
Автор вопроса: Dim
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #1
Добавлено: 28.11.03 20:36
Ты делаеш цвет текста из VB, этот VB знает 16 млн. цветов, для того чтобы указать текст на странице ты пользуешся или HEX или RGB(R,G,B) моделъю цвета, но в любом случае в HTML ты можешь указать только 256 цветов, от того что ты вводиш в HTML цвет которого он неподдержует, он как-то округяет, приводит похожий и получается всякий бред! А попадает на правельный из-за того что ты случайно указал цвет один из палитры 256. А вообще VB фонарём неумеет работать с цветом для HTML там это через какой-то OCX делают
Номер ответа: 2
Автор ответа:
Павел
Администратор
ICQ: 326066673
Вопросов: 368
Ответов: 5968
Web-сайт:
Профиль | | #2
Добавлено: 29.11.03 07:09
Нет, думаю, дело совсем в другом...
В HTML цвет представляется так:
#RRGGBB
Вот и формируй цвет соответственно. Вот тебе на всякий случай функция
из моего примера на тему преобразования цветов (ИМХО, он в разделе
Примеры должен существовать):
Private Type RGBType
R As Byte
G As Byte
B As Byte
End Type
Private Function RGBToHex(From As RGBType) As String
Dim Red As String
Dim Green As String
Dim Blue As String
Red = CStr(Hex$(From.R))
If Len(Red) = 1 Then
Red = "0" & Red
End If
Green = CStr(Hex$(From.G))
If Len(Green) = 1 Then
Green = "0" & Green
End If
Blue = CStr(Hex$(From.B))
If Len(Blue) = 1 Then
Blue = "0" & Blue
End If
RGBToHex = "#" & Red & Green & Blue
End Function