|
|
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
Здраствуйте. В некоторых кнопках для выбора цвета,как например в MSWord,поверх кнопок рисуются цветные прямоугольники. Я думаю что они выводятся на hDC через WinAPI функции (SetDIBitsToDevice например). При использовании стиля "Graphical" у кнопки пропадает стиль... Как правильно реализовать данную задачу? Если можно то дайте исходник (на любом языке). Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 11:45 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
P.R.O.M.A.R.K, для этого можно применить приём под названием subclassing, и перекрыть процедуру перерисовки окна кнопки. Пример в приложенном файле. Прим.: не стОит жать кнопку "Стоп" во время отладки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2007, 17:08 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
Большое спасибо! Я об этом уже думал,но у меня небольшой опыт в SubClass' инге... А это реально сделать через SetDIBitsToDevice например ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 06:55 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
БенедиктP.R.O.M.A.R.K, для этого можно применить приём под названием subclassing, и перекрыть процедуру перерисовки окна кнопки. Пример в приложенном файле. Прим.: не стОит жать кнопку "Стоп" во время отладки. Когда я нажимаю на кнопку прямоугольник исчезает, как я это понимаю передается вругое сообщение... Пожалуйста кинь исправленный исходник, где этот прямоугольник не исчезает при клике и др.сообщениях... Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 07:07 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
P.R.O.M.A.R.KА это реально сделать через SetDIBitsToDevice например ?Можно использовать любые функции GDI. P.R.O.M.A.R.KКогда я нажимаю на кнопку прямоугольник исчезает, как я это понимаю передается вругое сообщение... Пожалуйста кинь исправленный исходник, где этот прямоугольник не исчезает при клике и др.сообщениях...У меня перерисовка всегда выполняется правильно, непонятно, что править. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 11:13 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
БенедиктУ меня перерисовка всегда выполняется правильно, непонятно, что править. Тогда зачем ты поставил на форму Command2. Я нажимаю на Command1,зеленый прямоугольник пропадает... Я нажимаю на Command2 для того что бы фокус пропал,зеленый прямоугольник появляется... Какое сообщение обрабатывать, что бы прямоугольник рисовался всегда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 11:39 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
P.R.O.M.A.R.K, Command2 - просто, чтоб была для сравнения. Версия с манифестом, и задействующая Common Controls в приложенном файле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 11:49 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
БенедиктP.R.O.M.A.R.K, Command2 - просто, чтоб была для сравнения. Версия с манифестом, и задействующая Common Controls в приложенном файле. Спасибо,работает. Но, мог бы ты мне объяснить... Что такое manifest,как его сделать, почему активировались XP стили и почему прямоугольник не исчезает. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2007, 12:07 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
P.R.O.M.A.R.K, манифест - это XML-файл, говорящий ОС, что данная программа использует визуальные стили. Он может быть отдельным файлом с именем ИмяИсполняемогоФайла.exe.manifest, либо ресурсом, включённым в исполняемый модуль (см. приложенный файл). Прямоугольник перестал исчезать потому, что стало приходить "лишнее" сообщение WM_PAINT при подключении стилей. Ты был прав, при смене состояния кнопки приходит другое сообщение, теперь это учитывается. См. приложенный файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 12:01 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
БенедиктP.R.O.M.A.R.K, манифест - это XML-файл, говорящий ОС, что данная программа использует визуальные стили. Он может быть отдельным файлом с именем ИмяИсполняемогоФайла.exe.manifest, либо ресурсом, включённым в исполняемый модуль (см. приложенный файл). Прямоугольник перестал исчезать потому, что стало приходить "лишнее" сообщение WM_PAINT при подключении стилей. Ты был прав, при смене состояния кнопки приходит другое сообщение, теперь это учитывается. См. приложенный файл. Бенедикт,спасибо за объяснения. Я раньше,всегда,вставлял в ресурс файл XPSTYLE.res и в расделе инициализации прописывал "InitCommonControls". Скажи стоит ли использовать manifest в shareware программах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 12:16 |
|
||
|
Command [кнопка]: Важный вопрос
|
|||
|---|---|---|---|
|
#18+
БенедиктP.R.O.M.A.R.K, манифест - это XML-файл, говорящий ОС, что данная программа использует визуальные стили. Он может быть отдельным файлом с именем ИмяИсполняемогоФайла.exe.manifest, либо ресурсом, включённым в исполняемый модуль (см. приложенный файл). Прямоугольник перестал исчезать потому, что стало приходить "лишнее" сообщение WM_PAINT при подключении стилей. Ты был прав, при смене состояния кнопки приходит другое сообщение, теперь это учитывается. См. приложенный файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.11.2007, 12:16 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=34930435&tid=2163083]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
50ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 317ms |

| 0 / 0 |
