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

Сменить фон TreeView   Найти похожие ветки 

← →
Babay ©   (2006-04-04 13:43) [0]

Подскажите как средствами АПИ изменить фон элемента TreeView если я знаю его HWND

Делаю так:

Const GWL_STYLE  = (-16);
Const TVS_HASLINES = 2;
Const TV_FIRST  = $1100 ;
Const TVM_SETBKCOLOR  = (TV_FIRST + 29) ;

....

SendMessage(HWND,TVM_SETBKCOLOR, 0, rgb(255,0,0));
lngStyle:= GetWindowLong(HWND, GWL_STYLE);
SetWindowLong(HWND, GWL_STYLE, lngStyle xor TVS_HASLINES);
SetWindowLong(HWND, GWL_STYLE, lngStyle);


но цвет фона меняется только под буквами, а мне надо чтоб весь элемент перекрасился.


← →
Игорь Шевченко ©   (2006-04-04 13:54) [1]


> а мне надо чтоб весь элемент перекрасился.


Попробуй обработать WM_ERASEBKGND у TreeView


← →
Babay ©   (2006-04-04 16:12) [2]

Вся беда в том что этот элемент не в моем окне, у меня есть только HWND, и я немогу отработать это сообщение
.... или я чего не понял?


← →
Игорь Шевченко ©   (2006-04-04 16:13) [3]

Babay ©   (04.04.06 16:12) [2]


> Вся беда в том что этот элемент не в моем окне, у меня есть
> только HWND, и я немогу отработать это сообщение


А в чем суть задачи состоит ? Может, ее можно иначе решить ?


← →
Babay ©   (2006-04-04 17:51) [4]

в кратце так (одна из маленьких подзадач).
есть прога написанная на Bilder-е (тока exe файл), в ней есть треевиев, надо из другой проги поменять у этого треевиева фон.
Вот цвет фона бод буквами и буквы менять удается, а так чтоб весь фон чета никак.
Ну примерно так.
Неспрашивайте меня почему такая задача, ну просто так вышло... долго объяснять.


← →
DVM ©   (2006-04-05 11:06) [5]


> Вся беда в том что этот элемент не в моем окне, у меня есть
> только HWND, и я немогу отработать это сообщение

С пом., например, хуков, внедряешься в адресное пространство другого процесса, там подменяешь оконную процедуру нужного TreeView на свою (SetWindowLong) и для всех сообщений кроме WM_ERASEBKGND вызываешь старую оконную процедуру, для WM_ERASEBKGND свою.



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

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



Память: 0.46 MB
Время: 0.025 c
2-1151512255
129
2006-06-28 20:30
2006.07.16
Excel


1-1149652617
dwar
2006-06-07 07:56
2006.07.16
Ole обьект в DLL


3-1147761663
mr.il
2006-05-16 10:41
2006.07.16
передать параметр в IBDataSet


3-1147422894
Patrick
2006-05-12 12:34
2006.07.16
Добавление в таблицу из XML-документа


15-1150397673
GanibalLector
2006-06-15 22:54
2006.07.16
C++




   Наверх