![]() |
|
Модераторы: Akina |
![]()
|
|
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Help, please!
Вопрос такой: Если у контрола меняется цвет BackColor, то нужно сделать чтобы его ForeColor стал инверсным. Заранее благодарен. --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
А в чем проблема? изменить цвет? посчитать какой именно? отловить момент изменения? что-то еще?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Например у label Backcolor задали =1234 а его ForeColor нужно установить инверсным (синий - жельый; красный - зелёный...)
Т.е. как просчитать цвет инверсный тому, который задал пользователь? Это сообщение отредактировал(а) amt - 18.3.2008, 22:02 --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
Сейчас попробую код нацарапать...)
|
|||
|
||||
| I_Am_Rock |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 523 Регистрация: 18.1.2008 Репутация: 12 Всего: 15 |
||||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Чисто формально дополнительный цвет считается так:
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
I_Am_Rock
Спасибо, я предполагал именно такой фариант. Тебе + Но есть такая проблема. Когда пользователь поменяет цвет я могу узнать его числовое значение. А как это число перевести в RGB? Это сообщение отредактировал(а) amt - 19.3.2008, 09:40 --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Всем спасибо, сам разобрался.
Допустим пользователь поменял цвет BackColor у лейбла. Определяем его значение, например 123456. Тогда инверсным будет 16777215-123456 (16777215 - соответствует RGB(255,255,255)). Думаю тему можно закрыть. --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Это зависит от того, зачем тебе собсно нужен инверсный цвет... а то пара инверсных &H808080 и &H7F7F7F очень красиво смотрятся один по другому... И еще одна мелочь. Если юзер задал цвет, например, Label.BackColor=123456 - как ты думаешь, какое значение будет у Label.BackColor? 123456? как бы ни так... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| amt |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 249 Регистрация: 26.10.2004 Где: г. Волгоград Репутация: 3 Всего: 3 |
Суть в том что юзер задает цвет не с клавы, а выбирает его в окне ShowColor компонента CommonDialog. А затем я уже программно определяю код цвета CommonDialog.Color. Этот цвет присваивается компоненту Label.BackColor, а LabelForeColor я определяю так, как указал выше. --------------------
С точки зрения банальной эрудиции не каждый индивидуум способен игнорировать тенденции парадоксальных эмоций. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 34 Всего: 454 |
Суть как раз в том, что в xxxColor используется младшие 24 бита, а значения старших 8 задаются VB по какому-то своему достаточно хитрому и совершенно непонятному алгоритму. Посему использование АРИФМЕТИЧЕСКИХ операторов не всегда будет давать те результаты, которые ожидаешь. Следует использовать битовые операции. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "VB6" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | VB6 | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |