Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.28;
Скачать: CL | DM;

Вниз

DrawFocusRect на стандартной кнопке.   Найти похожие ветки 

 
Comp ©   (2004-10-13 19:09) [0]

Здравствуйте, уважаемые мастера. Подскажите пожалуйста, как сделать, что бы на стандартной (обычной) кнопке
не прорисовывался DrawFocusRect при её выделении (нажатии), а просто рисовалась стандартная голубая (в зависимости от настроек) кромка? В приложении включена поддержка Visual Styles.
Подскажите пожалуйста. Буду очень благодарен.


 
Игорь Шевченко ©   (2004-10-13 19:16) [1]

Нарисовать еще раз не помогает ?


 
Comp ©   (2004-10-13 19:29) [2]

Нет.
Еще такой прикол заметил - если нигде не трогать хендл кнопки, т.е. нигде не упомянать - то все рисуется нормально без этого точечного прямоугольника. А стоит только послать WM_SETFONT или еще что-нибудь - то все. Начинает выделяться.
А другие способы есть?


 
Comp ©   (2004-10-13 20:34) [3]

А еще такой прикол обнаружил:

Вся эта ботва только в режиме Running, т.е. когда в Delphi делаешь Run.
У конечного откомпилированного экзешника такой ерунды нет и все рисуется прекрасно и красиво.

На всякий случай:

параметр dwStyle функции CreateWindow у меня имеет такое сочетание
WS_VISIBLE+WS_CHILD+BS_PUSHLIKE+BS_3STATE

Пробовал убрать один из последних двух - кнопка тут же перестает красиво выделяться при активации, а то вообще стиль меняет (в частности если убрать BS_PUSHLIKE образуется жалкое подобие CheckBox-a, если убрать BS_3STATE - кнопка выделяется только при наведении курсором - желтой кромкой, а активировавшись опять становится белой).
 Это результаты моих скромных, тока что проделанных экспериментов.
 Я не люблю придираться к мелочам, просто заметил, что у многих диалоговых окон самой Windows на кнопках наблюдается это явление. И мне тоже захотелось добиться такого.
Хоть и мелочь, но все равно так красивее.

Всем спасибо за внимание!


 
Comp ©   (2004-10-13 21:05) [4]

Вот к чему приводит лень. Трудно было мне на время поменять стиль Windows и выяснить, что к чему.
Голубая кромка - это тоже самое, что в обычном стиле Windows называется "тяжелые границы" (как "Сократ" перевел).
Тех же результатов можно достичь предназначенной для этого константой
BS_DEFPUSHBUTTON в сочетании

WS_VISIBLE+WS_CHILD+BS_DEFPUSHBUTTON

Но только я не пойму, перевода

BS_PUSHBUTTON Создает кнопку, которая посылает сообщение WM_COMMAND в окно владельца когда потребитель выбирается кнопку.
??????????????????????????

Я не использую этот стиль, а сообщение WM_COMMAND для кнопки прекрасно обрабатывается и без этого. Что этим хотят сказать Microsoft-овцы? (В смысле Майкрософтовцы)???

Уважаемые, подскажите пожалуйста.


 
Игорь Шевченко ©   (2004-10-14 10:50) [5]


> BS_PUSHBUTTON Создает кнопку, которая посылает сообщение
> WM_COMMAND в окно владельца когда потребитель выбирается
> кнопку.


Если тебе не трудно, то не пости сюда перевод сократа или его аналога. Прояви уважение к людям.



Страницы: 1 вся ветка

Текущий архив: 2004.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.061 c
1-1100373817
Кириешки
2004-11-13 22:23
2004.11.28
Как загрузить (или работать) с текстовым файлом размером 2,2 гб?


1-1100474931
Германн
2004-11-15 02:28
2004.11.28
Не могу сформулировать!


1-1097150651
Ata133
2004-10-07 16:04
2004.11.28
Помогите разработать алгоритм


9-1091044622
XDev
2004-07-28 23:57
2004.11.28
Ускорение отрисовки полигона


1-1100540170
jenbond
2004-11-15 20:36
2004.11.28
Help, очень нужно!