|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.07.2010, 00:54 | #1 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 35
|
Выбор цвета
У меня есть простенький макрос, который упрощает мне работу с таблицами (не надо кучу раз лазить в меню). Задача его такова: на выделенную ячейку таблицы макрос сначала делает цвет для текста (зеленый, скажем), потом еще раз вызывается меню «Границы и заливки» и тот же цвет задается абзацу.
При написании макроса я использовал зеленый цвет как первый попавшийся. Вот тут как раз и закавика. У меня бывают случаи, когда таблица залита через ячейку двумя цветами. Каким образом может макрос задать пользователю вопрос, какой цвет применить? То есть, надо, чтобы вызывалась на экран менюха Границы (с выставленными всеми параметрами), где надо указать цвет (первый раз — для текста, для абзаца — цвет тот же автоматич. должен быть применен). Это может быть просто окно Палитры цветов. Такая прибамбасина точно есть в Фотошопе (Спросить параметр у пользователя). Есть что-либо подобное в VB? |
14.07.2010, 15:41 | #2 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 35
|
Вот что хочется получить (такое окошко с палитрой): http://www.functionx.com/vbnet/controls/colordialog.htm
Но как именно внедрить в макрос — я не знаю. У меня постоянно выбивает ошибку. |
14.07.2010, 16:26 | #3 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Держи готовый код.
Код:
Взято отсюда и немного изменено. Дополнительные параметры диалога: цвет по умолчанию, пользовательские цвета, развёрнутый или свёрнутый и т.д. находятся здесь
Лучше день потерять — потом за пять минут долететь!©
|
14.07.2010, 17:51 | #4 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 35
|
Спасибо, viter.alex.
Отдельно - работает на ура. А в макросе - нет. Наверное, я крыво что-то вставляю. Этот выбранный цвет должен быть как значение для BackgroundPatternColor. Речь идет о: PHP код:
|
14.07.2010, 21:43 | #5 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Цитата:
Код:
Лучше день потерять — потом за пять минут долететь!©
|
||
14.07.2010, 23:46 | #6 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 35
|
Что-то у меня долго не получалось, но в конце концов заработал макрос.
Искреннее признательное спасибо!!!! А вот такой вопрос в плане улучшения существующего: можна, чтобы выбор цвета на вкладке производился двойным щелчком мышки по ячейке (не нажимая Ок)? Возможно, это невозможно посредством макроса, так как алгоритм работы КаларДиалог не зависит от желаний VB?.. |
16.07.2010, 20:53 | #7 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Строго говоря, у структуры CHOOSECOLOR есть параметр lpfnHook, в котором можно указать адрес процедуры, обрабатывающей сообщения диалога. Но я не нашёл примера использования: какое сообщение нужно перехватывать для определения выбранного цвета.
Лучше день потерять — потом за пять минут долететь!©
|
17.07.2010, 03:10 | #8 |
Пользователь
Регистрация: 15.06.2010
Сообщений: 35
|
Тогда остановимся на достигнутом
Тему можна закрывать. |
17.07.2010, 12:52 | #9 |
Форумчанин
Регистрация: 17.07.2009
Сообщений: 519
|
http://win-api.narod.ru/a0570.htm
Главное - не ошибиться с ручкой щётки и рычажной процедурой |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цвета | Sergeo_89 | Общие вопросы Delphi | 3 | 23.01.2010 18:08 |
цвета на канве | Juffin | Общие вопросы Delphi | 3 | 17.05.2009 21:57 |
Выбор цвета | DANIЯR | Общие вопросы Delphi | 18 | 11.12.2008 10:34 |
Инверсия цвета | Dj_smart | Общие вопросы Delphi | 6 | 08.05.2008 16:29 |
цвета | Toxa | Общие вопросы Delphi | 3 | 20.04.2007 12:03 |