Вниз
Скачать: 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.026 c
3-1125226578
Ilg
2005-08-28 14:56
2005.10.16
Удаление бызы данных


2-1125667287
SarDoX
2005-09-02 17:21
2005.10.16
С чего начать?


8-1116759693
scrazy
2005-05-22 15:01
2005.10.16
Удаление невидимых линий(точек) на объёмных телах


14-1127461258
Андрей Жук
2005-09-23 11:40
2005.10.16
По поводу замечания Анатолия Подгорецкого


14-1127452073
DelphiN!
2005-09-23 09:07
2005.10.16
Разграничение сетевого канала по приоритетности




   Наверх