Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в файле ресурсов поменять цвет диалога. 
V
    Опции темы
cuvorov
Дата 27.9.2007, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.5.2007

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



Добрый день.
Как в файле ресурсов поменять цвет диалога?
И как перехватить сообщение о отжатии кнопки.
PM MAIL   Вверх
586
Дата 27.9.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(cuvorov @  27.9.2007,  21:27 Найти цитируемый пост)
Как в файле ресурсов поменять цвет диалога?

никак. В функции обработки сообщений перехватьвай сообщение WM_CTLCOLORDLG
Код
switch (uMsg)
{
case WM_CTLCOLORDLG:
  return (INT_PTR)GetStockObject(BLACK_BRUSH);
}


или так:
Код
static HBRUSH hbr;
switch(uMsg)
{
case WM_INITDIALOG:
  hbr=CreateSolidBrush(0xFF0000);  // создание заливки синего цвета
  break;

case WM_CLOSE:
  DeleteObject((HGDIOBJ)hbr);  // не забываем освобождать ресурсы GDI
  break;

case WM_CTLCOLORDLG:
  return (INT_PTR)hbr;

default:
  return FALSE;
}
return TRUE;


Цитата
И как перехватить сообщение о отжатии кнопки

Где? В диалоге WM_KEYUP return TRUE. Если в контроле, можно перехватывать в цикле обработки сообщений (если это окно главное, то это не проблема).
Код

while(GetMessage(&msg, 0, 0, 0))
{
  if((msg.uMsg==WM_KEYUP) /*&&  (msg.hWnd!=hDlg)*/)
    continue;
  if(!IsDialogMessage(...))
  {
    TranslateMessage(&msg);
    DispatchMessage(&msg);
  }
}

PM   Вверх
cuvorov
Дата 27.9.2007, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.5.2007

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



Да я не совсем коректно выразился.
Кнопка имеется в виду контрол (BUTTON).
И мне надо узнать когда пользователь после клика отпустил кнопку.

PM MAIL   Вверх
586
Дата 27.9.2007, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Цитата(cuvorov @  27.9.2007,  22:45 Найти цитируемый пост)
 мне надо узнать когда пользователь после клика отпустил кнопку

может опять вопрос не понял... По идее, нажатие кнопку не произойдет, если пользователь не отпустит её.
Код
case WM_COMMAND:
  switch(LOWORD(wParam))
  {
  case ID_BUTTON:  // ID кнопки

    break;
  }
  break;

PM   Вверх
cuvorov
Дата 27.9.2007, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 80
Регистрация: 7.5.2007

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



У меня такая постанова.
Когда юзер нжимает мышью на кнопку у нее меняется картинка. Когда юзер отпускает возвращается изначальная картинка.
Вот на нажатие у меня меняется а обратно нет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




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


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

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