![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пожелания: GRushControls [Delphi, Windows]
Vladimir Kladov © (2007-05-27 18:39:00)вот такое пожелание: сделать хотя бы альтернативно через IFDEF темы - в виде глобальной структуры с цветами заливки, шрифтов, круглостью уголков. Почему глобальной: чтобы тему можно было сменить на лету. Можно для примера приготовить несколько тем и даже сделать процедуру-конструктор темы, который на базе всего 2 или даже 1 цвета заполняет всю структуру. И все сразу стало из голубоватого песочно-желтоватым или гламурно-розовым...
Vladimir Kladov (2007-05-29 16:09:00) [21]очевидно, первое - то, что в начале или выше по тексту, второе - то, что ниже, и ближе к концу процедуры. Насколько помню, изменений было предложено ровно 2.
homm (2007-05-29 15:55:00) [22]Что есть первое и что второе? :)
Vladimir Kladov (2007-05-29 15:38:00) [23]Значит, так. Хотеля еще вчера проверить, но не пришлось. Сегодня проверил. Не катит первое изменение в DrawControlRect под NT4: пол-панели как корова языком слизала, причем независимо от разрешения рабочего стола. Вернул вариант с IFDEF-ом - все нормально стало. Второе изменение вроде посмотреть не успел внимательно, вроде работает так же - икноки прозрачные на кнопках.
mdw (2007-05-28 11:41:00) [24]Еще, заодно несколько предложений:
1. Процедуру: procedure GradientFill(const State: TGRushPaintState; DC: HDC; const BorderRect: TRect); добавить в интерфейсную секцию. А то иногда возникает необходимость использовать ее в своих модулях.
2. Вроде уже обсуждалось, не помню только чем закончилось. Объявление TGRushVAlign = (vaTop, vaCenter, vaBottom); заменить на TGRushVAlign = TVerticalAlign;
Хотя это не критично, просто получилось что TGRushVAlign и TVerticalAlign одинаковые типы, конфликтуют слегка.:)
3. Добавить что-то типа свойства TextStyle, и использовать при формировании строки формата для DrawText. Для реализации вариантов:
DT_END_ELLIPSIS, DT_PATH_ELLIPSIS, DT_NOPREFIX.
Vladimir Kladov (2007-05-27 20:03:00) [25]я потому и предполагаю, что без IFDEF не обойтись: идея тем в том, чтобы брать нужные значения прямо в процедурах отрисовки непосредственно из глобальной структуры, нежели хранить все переменные у себя внутри контрола.
Vladimir Kladov (2007-05-27 19:56:00) [26]А мне как раз такой вид нравится, чего ж в нем уродливого. Я под него и все прочие формы подогнал. Вообще ShowQuestionEx для того и создан, чтобы "поправить" форму можно было при создании, навешивая свой CallBack.
homm (2007-05-27 19:42:00) [27]Кстати. Владимир, Встречные пожелания: Доведите до ума ShowQuestionEx, окно при включенном USE_GRUSH так уродливо смотрится. Как минимум Border убрать у формы и панели All_BorderWidth тоже.
homm (2007-05-27 19:39:00) [28]Все это конечно хоршо, но завтра экзамен по ФТТ :)))
Пожелания понятны, вопрос о каком-то управлении темами стоит с первого дня создания, но до сих пор не решен. Ситация же намного сложнее чем в RBControls было, там по несколько свойств всего на контрол, здесь же много больше.
Подход с именно глобальным статичным хранением мне нравиться, в принцепе оно почти так и есть, нужно только переписать что-бы из этого хранилища информация бралась не при создании, а был бы метод отдельный, вызываемый как при создании, так и вручную.