Форум: "WinAPI";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизКак рисовать цветом кнопки Найти похожие ветки
← →
AD_infiniTUM (2004-07-22 20:57) [0]Рисую стрелку таким образом
DC := GetDC(Wnd);
Pen := CreatePen(PS_SOLID, 1, COLOR_BTNFACE + 1);
Brush := CreateSolidBrush(COLOR_BTNFACE + 1);
OldP := SelectObject(DC, Pen);
OldB := SelectObject(DC, Brush);
Sign[0].X := X1;
Sign[0].Y := Y1;
Sign[1].X := X1 + SignWidth;
Sign[1].Y := Y1;
Sign[2].X := X1 + (SignWidth div 2);
Sign[2].Y := Y1 + SignHeight - 1;
Polygon(DC, Sign, 3);
SelectObject(DC, OldP);
SelectObject(DC, OldB);
DeleteObject(Pen);
DeleteObject(Brush);
ReleaseDC(Wnd, DC);
По идее она должна быть цветом стандартной кнопки, но она - черная. Что я делаю не правильно?
Зарнее спасибо.
← →
DVM © (2004-07-22 23:42) [1]GetSysColor(COLOR_BTNFACE) вместо COLOR_BTNFACE + 1
← →
Kind © (2004-07-22 23:45) [2]CreatePen, CreateBrush не понимают системные константы цвета.
Используй GetSysColor(Системный цвет)
Делай так:
DC := GetDC(Wnd);
Pen := CreatePen(PS_SOLID, 1, GetSysColor(COLOR_BTNFACE + 1));
Brush := CreateSolidBrush(GetSysColor(COLOR_BTNFACE + 1));
OldP := SelectObject(DC, Pen);
OldB := SelectObject(DC, Brush);
Sign[0].X := X1;
Sign[0].Y := Y1;
Sign[1].X := X1 + SignWidth;
Sign[1].Y := Y1;
Sign[2].X := X1 + (SignWidth div 2);
Sign[2].Y := Y1 + SignHeight - 1;
Polygon(DC, Sign, 3);
SelectObject(DC, OldP);
SelectObject(DC, OldB);
DeleteObject(Pen);
DeleteObject(Brush);
ReleaseDC(Wnd, DC);
И всё пучком.
← →
DVM © (2004-07-22 23:53) [3]
> Kind © (22.07.04 23:45) [2]
не надо + 1
← →
Kind © (2004-07-23 00:16) [4]Ну вдруг у него что-то своё там в программе, специфическое :)
← →
AD_infiniTUM (2004-07-23 08:43) [5]Спасибо, все работает.
> Ну вдруг у него что-то своё там в программе, специфическое
Нет ничего специфического :)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c