Текущий архив: 2006.07.16;
Скачать: 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 вся ветка
Текущий архив: 2006.07.16;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.014 c