|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.04.2010, 23:14 | #1 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 11
|
основы работы с сообщ. WM_PAINT и WM_COMMAND (uberlame))
Обьясните, что я делаю не так. Есть простенькая функция рисования двух кусочков пирога
case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); SelectObject(hdc, hBrush); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); Pie(hdc, 10,20,500,300,20,50,30,300); SelectObject(hdc,hBrush3); Pie(hdc, 10,20,500,300,200,200,300,400); DeleteObject(hBrush); DeleteObject(hBrush3); EndPaint(hWnd, &ps); Браши созданы в начале WndProc и делают пироги красным и синим. Теперь я пытаюсь перерисовать пироги с помощью выбора опции в меню: case IDM_FILE_GREEN: .... InvalidateRect(hWnd,NULL,TRUE); break; Как это сделать? Поменять браш не получается,т.к. в WM_PAINT он снова ставится старым. При попытке получать контекст в начале с помощью hdc=GetDC(hWnd); тоже фейл. Помогите плз. п.с. Если не трудно, то подскажите, как аналогичным образом изменять размеры пирогов (выбором размера в меню) |
08.04.2010, 23:22 | #2 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 236
|
Окно очень часто получает WM_PAINT
обработка другого цвета должна идти в самом обработчике WM_PAINT. Заводишь какую-нибудь переменную типа bool IsGreen. При выборе в менб выставляешь ее в TRUE, а в обработчике WM_PAINT рисуешь нужным цветом после проверки на IsGreen. Та же петрушка и с размером |
08.04.2010, 23:28 | #3 |
Пользователь
Регистрация: 25.02.2008
Сообщений: 11
|
OMG спасибо за быстрый ответ!
|
08.04.2010, 23:40 | #4 | |
Непрофессионал
Участник клуба
Регистрация: 01.01.2008
Сообщений: 1,405
|
Не понял, а зачем вот это -
Код:
Цитата:
то что предложил Д'якон конечно самый правильный вариант, но почему нельзя пересоздать кисти по сообщению с меню - не понимаю.
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------ Страничка с моими программками http://ulex-masm.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Контекст устройства. Основы работы с изображением | Claster | Win Api | 1 | 03.04.2010 00:26 |
Основы FastReport | Dima_mazhor | БД в Delphi | 31 | 13.12.2009 15:34 |
Основы работы с репозиторием. Что и как. | TwiX | Общие вопросы Delphi | 2 | 27.11.2009 21:28 |
ADO основы... | Roof | БД в Delphi | 14 | 10.12.2007 21:28 |