Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не создаются цвета(WinApi)


Max ©   (2014-12-04 20:26:00) 

Здравствуйте.
var
 LBrush, : HBRUSH;
 LPen : HPEN;

WM_SHOWWINDOW:
   begin
     GetClientRect(Form3, rrLevel);
     DC := GetDC(Form3);
     dcL  := CreateCompatibleDC(DC);
     BufBit := CreateCompatibleBitmap (DC, rr.Right, rr.Bottom);
     LBrush := CreateSolidBrush(15780518);
     LPen := CreatePen(0,1,15780518);
     SetTimer(Form3, TmrL, 20, @TimeM);
   end;

 WM_CLOSE, WM_DESTROY:
     begin//  MessageBox(ChervForm,'d','f',0);
       ShowWindow(Form3, SW_HIDE);
       KillTimer(Form3, TmrL);
       ......
       SendMessage(CbL, BM_SETCHECK, 0, 0);
     end

procedure TimeM; stdcall;
begin
 SelectObject(dcL, BufBit);
 FillRect(dcLevel, rrLevel, LBrush);

 BitBlt(DC, 0, 0, rrLevel.Right, rrLevel.Bottom, dcL, 0, 0, srccopy);
end;


Окно вызывается через чекбокс.
Кликаю первый раз - вместо нужного мне цвета, получается серый или белый, да еще и в клеточку или точечку.
закрываю окно(SW_CLOSE) и снова вызываю(WM_SHOW), все ок, цвет нужный мне появился.

C остальными окнами, где рисуестя, такого не происходит.

Почему так????????


Max   (2014-12-07 13:48:00) [1]

Забыл отписаться. Не правильно указал HDC при WM_SIZE, поправил.Все работает.


Игорь Шевченко   (2014-12-05 10:18:00) [2]

Учиться нужно по правильным примерам, например:

http://msdn.microsoft.com/ru-RU/library/windows/desktop/dd162482(v=vs.85).aspx


Max   (2014-12-04 21:21:00) [3]


> а вообще код страшен

Я только учусь)))


Rouse_   (2014-12-04 20:51:00) [4]

Начни с чтения справки по функции SelectObject, чтоб понять где у тебя теряются GDI объекты.
ЗЫ: а вообще код страшен...


Наверх

Титульная страница Поиск, карта сайта Написать письмо