Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Вниз

Рисование любым цветом на DC   Найти похожие ветки 

 
ZEE   (2002-12-29 22:33) [0]

Подскажите, плиз, как на DC рисовать линии любым цветом?
Я делаю так:
DC1:hDC;
TmpBmp1,Bmp1:hBitmap;
R:TRect;
...
GetWindowRect(WndHandle,R);
DC1:=CreateCompatibleDC(GetDC(WndHandle)); TmpBmp1:=CreateCompatibleBitmap(GetDC(WndHandle), R.Right-R.Left, R.Bottom-R.Top);
Bmp1:=SelectObject(DC1,TmpBmp1);
FillRect(DC1,R,GetStockObject(BLACK_BRUSH));
SelectObject(DC1,GetStockObject(WHITE_PEN));

и дальше рисую - все ОК, но! только одним цветом белым (WHITE_PEN), а надо рисовать любым цветом, например rgb(128,134,75)
пробовал так:
xpen:HPen;
...
//вместо последней строки в предыдущем фрагменте
xpen:=CreatePen(PS_SOLID,1,rgb(128,134,75));
SelectObject(DC1,xpen);
...
DeleteObject(xpen);

начинаю рисовать - все ОК, куча цветов, но если пройти этот кусок кода несколько раз - "рисование" прекращается.
Подскажите, где тут за грабли...


 
MBo   (2002-12-30 07:16) [1]

перед DeleteObject(xpen) надо выбрать в DC старое перо (его получают при таком вызове: OldPen:=SelectObject(DC1,xpen);), поскольку выбранные в контексте объекты (большинство типов гр. объектов) не уничтожаются, что, видимо, и приводит к переполнению таблицы объектов GDI



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2003.04.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.009 c
3-6292
Silver_
2003-03-05 10:18
2003.04.03
Посоветуйте решение


4-6836
Alexandr3
2003-02-04 07:55
2003.04.03
Помогите пожалуйста показать окно


1-6546
Nesh Briges
2003-03-21 11:48
2003.04.03
Проблема с ProgressBar


3-6377
Shurko
2003-03-13 16:09
2003.04.03
Генерация уникального значения в Oracle


4-6856
Егорычев М
2003-02-04 14:12
2003.04.03
Как достать Bitmap из ресурса DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский