Вниз
Скачать: CL | DM;

Кто нить работал с GetBKcolor? ничего не получается!!!!!!!!!!!!!!   Найти похожие ветки 

 
SuperMatser ©   (2005-08-16 21:29) [0]

Привет!
Никак не могу разобраться как работать с GetBKcolor
Делаю так:
WNH_w:=FindWindow(nil, "Крутая прога");
WinDC:=GetWindowDC(WNH_w);
GetCOl:=GetBkColor(WinDC);
DeleteObject(WinDC);

//===Далее
Rtg:=GetWindowDC(ElementEdit[9].WNH); //==Тут хендл заранее полученного едита
GFont.lfFaceName:="MS Sans Serif";
GFont.lfHeight:=15;
//===For win9x
//SetBkColor(Rtg, RGB(192,192,192)); <<---Вот так работает

//===For winXP
SetBkColor(Rtg, RGB(GetRValue(GetCOl), GetGValue(GetCOl), GetBValue(GetCOl))); <<--Не работает, рисует белым фоном, т.е. не тем что там

HHfont:=CreateFontIndirect(GFont);
SelOBJ:=SelectObject(Rtg, HHfont);

Tfg:=ElementEdit[9].TextWND;
//viewmessage(ElementEdit[8].Size1);
Tfg:=GetObrez(length(Tfg), 1);
PosDt:=1; //ElementEdit[8].Size1;
ExtTextOut(Rtg, PosDt, 1, eto_Clipped, nil, Pchar(Tfg), length(Tfg), 0);
DeleteObject(SelOBJ);
DeleteObject(Rtg);

Кто нибудь сталкивался с этим?


 
SuperMatser ©   (2005-08-16 21:43) [1]

WinDC:=GetWindowDC(WNH_w);
GetCOl:=GetBkColor(WinDC);  <<<<<---Все время возвращает белый цвет, хотя окно серое, в чем трабл?
DeleteObject(WinDC);


 
alpet ©   (2005-08-16 22:37) [2]

Точно белый? Тогда окно и соответственно DC у тебя неверные, сначала разберись на окне своего процесса (например форме).

Return Values
If the function succeeds, the return value is a COLORREF value for the current background color.

If the function fails, the return value is CLR_INVALID.


 
alpet ©   (2005-08-16 22:40) [3]

Потом ты получаешь только цвет который используется для фона выводимого с помощью DC текста, а не тот что используется для закраски она по стиранию фона (WM_ERASEBKGND). Последнее лучше определить через кисть класса (GetClassInfoEx, WNDCLASSEXA.hbrBackground) окна, и то невсегда это может быть верным.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.024 c
14-1127660413
alsov
2005-09-25 19:00
2005.10.16
Форма без заголовка, с возможностью ресайза


14-1127831750
LordOfRock
2005-09-27 18:35
2005.10.16
Metallica


1-1127732689
Vladimir88
2005-09-26 15:04
2005.10.16
Создание события для потомка класса


5-1103129104
Anatoly
2004-12-15 19:45
2005.10.16
Коллекция после запуска пустая


6-1119601823
Соловьев
2005-06-24 12:30
2005.10.16
EasyMail при посылке по SMTP не игнорируется DSN




   Наверх