Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2013, 11:56   #1
Ванир
 
Регистрация: 03.04.2013
Сообщений: 3
По умолчанию WinApi проект

Помогите, пожалуйста, разобраться с этим заданием! Бьюсь над ним уже третью неделю (WinApi не самая сильная моя сторона), проект уже горит(((
Нужно, чтобы при выделении текста в edit-boxах при нажатии на цвета из левой колонки окрашивался текст edit-boxа, а из правой - его фон.
Код в приложениях. Умоляю, помогите! буду очень благодарна!
Вложения
Тип файла: doc код1.doc (64.0 Кб, 13 просмотров)
Тип файла: doc код2.doc (29.5 Кб, 9 просмотров)
Ванир вне форума Ответить с цитированием
Старый 26.04.2013, 12:07   #2
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

Ловите сообщение WM_CTLCOLOREDIT и с помощью функций устанавливаете цвет фона и текста:
Код:
SetTextColor(...);	- Цвет текста
SetBkColor(...);		- Цвет фона текста
CreateSolidBrush(...); - Цвет фона элемента
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 26.04.2013, 12:17   #3
Ванир
 
Регистрация: 03.04.2013
Сообщений: 3
По умолчанию

Я вроде бы его ловлю и пытаюсь задать цвета из созданной ранее структуры, но там где-то теряются данные, на какую бы колонку я ни нажимала, меняется цвет текста, но не фона.
Ванир вне форума Ответить с цитированием
Старый 26.04.2013, 22:15   #4
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

При изменении фона вроде надо возвратить при обработке этого сообщения HBRUSH фона.

Т.е. return CreateSolidBrush(...) в конце обработки сообщения.

Но учтите, что фон Edit`та не меняет фон текста и при изменении фона Edit`та будет прямоугольник белого цвета (если не меняли его). Так что надо и цвет фона текста менять, чтобы слить фон элемента и фон текста
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.

Последний раз редактировалось kineziz; 26.04.2013 в 22:20.
kineziz вне форума Ответить с цитированием
Старый 27.04.2013, 09:50   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

return CreateSolidBrush(...)
За такой код уши надирать надо - утечка ресурсов, причем довольно массовая!
waleri вне форума Ответить с цитированием
Старый 27.04.2013, 12:15   #6
kineziz
Форумчанин
 
Регистрация: 22.12.2011
Сообщений: 378
По умолчанию

а если допустим так:

Код:
BOOL CALLBACK WndProc(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM lParam)
{
     static HBRUSH hBrushEdit;
     if (Msg == WM_INITDIALOG)
          hBrushEdit = CreateSolidBrush(...);
     else if (Msg == WM_CTLCOLOREDIT)
          return hBrushEdit;
     else if (Msg == WM_CLOSE)
     {
          DeleteObject(hBrushEdit);
          EndDialog(hWnd,0);
     }
     return false;
}
А при изменении цвета контрола при нажатии кнопки, надо вызвать DeleteObject(hBrushEdit) и снова создать кисть. Я верно думаю?
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
kineziz вне форума Ответить с цитированием
Старый 27.04.2013, 22:09   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Угум... правильно
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
WinAPI Axrik Общие вопросы C/C++ 3 23.11.2012 16:36
winapi vovik4385 Visual C++ 7 26.09.2012 09:57
Различие кода mfc и WinApi(mfc ручками набили, а WinApi автоматически с генерировался!! нужно явное отличие, не могу найти) Артём1991 Помощь студентам 0 25.03.2012 17:13
Где найти исходники на Java( 1 проект - больше 1000 классов, 2 проект - больше 100, 3 проект - больше 10) Pti44ka Общие вопросы по Java, Java SE, Kotlin 2 09.09.2010 21:31