Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как станик уэнаёт цвет родителя? Может Transparent? 
V
    Опции темы
Rapalex
Дата 27.6.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Я заметил что у всех ресурсов на диалоге есть такое свойсво, так если я создаю PropertyPage то при запуске любой статик с ней сливается.

Вот мне итересно как станик уэнаёт цвет родителя?

Я на свойство транспарент думаю но возникает вопрос можно ли это самому проделать. 


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Coocky
Дата 27.6.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Rapalex
ще раз-какой статик,? что значит сливается? Может просто берет цвет стандартного окна ?
smile 
Вообще
GetSysColor() тебя спасет для системных настроек

Добавлено @ 14:00 
Цитата(Rapalex @  27.6.2006,  13:37 Найти цитируемый пост)
Я на свойство транспарент думаю

  Внимание всем еще раз! с связи  с тем, что уже заколебали этим свойством. Халявы не будет!!!!

 Стиль окна WS_EX_TRANSPARENT служит для создания прозрачных окон. А именно: Любые окна ТОГО ЖЕ уровня,накрываемые этим окном, получат сообщение WM_PAINT в первую очередь, тем самым создавая эфект прозрачности!

 


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Earnest
Дата 27.6.2006, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Статик (и некоторые другие контролы) посылает паренту запрос CTLCOLOR, и парент им ставит все, что надо.

Цитата(MSDN::WM_CTLCOLORSTATIC)

A static control, or an edit control that is read-only or disabled, sends the WM_CTLCOLORSTATIC message to its parent window when the control is about to be drawn. By responding to this message, the parent window can use the specified device context handle to set the text and background colors of the static control. 

  

Это сообщение отредактировал(а) Earnest - 27.6.2006, 14:47


--------------------
...
PM   Вверх
Rapalex
Дата 27.6.2006, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 732
Регистрация: 20.1.2006
Где: Украина -> Ник олаев

Репутация: 6
Всего: 8



Спасибо, А такие большие буквы не нужно использовать, они больше на рекламу походят, и читать не хочется. 


--------------------
In vitium ducit culpae fuga.
Желание избежать ошибки вовлекает в другую.
(Horatius)
PM ICQ   Вверх
Coocky
Дата 27.6.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Earnest
Цитата(Earnest @  27.6.2006,  14:45 Найти цитируемый пост)
посылает паренту запрос CTLCOLOR, и парент им ставит все, что надо

То же самое, что и 

Цитата(Coocky @  27.6.2006,  13:46 Найти цитируемый пост)
просто берет цвет стандартного окна 

Только вот вопрос, а если перекрасить окно руцями, т.е. поставить бекграунд другого цвета?

Цитата(Rapalex @  27.6.2006,  14:48 Найти цитируемый пост)
А такие большие буквы не нужно использовать

Нужно, ибо уже 20 раз читаю -"Я ставлю стиль Transparent, а окно не прозрачное smile  Почему?  пАмагите!!!"


Цитата(Rapalex @  27.6.2006,  14:48 Найти цитируемый пост)
и читать не хочется

Как , впрочем ,МСДН, я смотрю не сильно вами жалуется.... 

Цитата(Rapalex @  27.6.2006,  14:48 Найти цитируемый пост)
 они больше на рекламу походят

Зато запоминается лучше..
 


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
Mad
Дата 27.6.2006, 21:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Эксперт
Сообщений: 656
Регистрация: 18.10.2004
Где: Одесса

Репутация: 2
Всего: 19



Цитата(Coocky @  27.6.2006,  13:55 Найти цитируемый пост)
Earnest, 

Цитата(Earnest @  27.6.2006,  14:45 )    
посылает паренту запрос CTLCOLOR, и парент им ставит все, что надо    

То же самое, что и 


Цитата(Coocky @  27.6.2006,  13:46 )    
просто берет цвет стандартного окна  

Только вот вопрос, а если перекрасить окно руцями, т.е. поставить бекграунд другого цвета?

Вот именно что не тоже самое smile

по получению сообщения WM_PAINT child контрол может послать WM_CTLCOLOR родительскому окну
в WM_CTLCOLOR пересылаеться HDC которое родитель настраивает (кстати это единственный способ изменить 
шрифт для child контрола smile )
а так же в возращаемом значении HBRUSH, который нужно ипользовать для фона
пример на API :
Код

void OnWmPaint(HDC hDC, RECT* clientRect)
{
    HBRUSH hBgBrush = (HBRUSH)SendMessage(hParentWnd, WM_CTLCOLOR, hDC, hWnd);
    FillRect(hDC, clientRect, hBgBrush);
}


Добавлено @ 21:04 
так что WM_CTLCOLOR возвращает не цвет фона, а кисть (она необязательно должна быть однотоной, можеш туда хоть битмэп всунуть smile ) 


--------------------
user posted image
PM MAIL   Вверх
Coocky
Дата 28.6.2006, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GUI гуру
****


Профиль
Группа: Участник Клуба
Сообщений: 2879
Регистрация: 16.2.2004
Где: Украина. Запорожь е

Репутация: 25
Всего: 62



Цитата(Mad @  27.6.2006,  21:03 Найти цитируемый пост)
кстати это единственный способ изменить 
шрифт для child контрола 

 smile  Не понял.... smile  Как это -единственый?
 


--------------------
Верю в смерть после жизни, в любовь после секса ,в крем после бритья smile        
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0754 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.