Текущий архив: 2005.08.14;
Скачать: CL | DM;
Вниз
Transparent STATIC Найти похожие ветки
← →
mad0max (2005-06-15 13:27) [0]А не подскажите ли уважаемы как организовать прозрачный элемент класса STATIC?
Использование exStyle WS_EX_TRANSPARENT при вызове функции
CreateWindowEx(WS_EX_TRANSPARENT, "STATIC", "bla-bla.....
никакого эффекта не дал :(
← →
-=XP=- © (2005-06-15 13:40) [1]TStaticText порожден от TWinControl"а.
Посему единственный способ сделать его "прозрачным" - наложить регион.
← →
Игорь Шевченко © (2005-06-15 13:40) [2]SS_OWNERDRAW не поможет в style ?
← →
mad0max (2005-06-15 13:47) [3]to Игорь Шевченко не помогло :(
to -=XP=- ого :(( как все сложно....
Дело осложняется тем, что на заднем плане у меня еще и bitmap :(
← →
Игорь Шевченко © (2005-06-15 13:48) [4]mad0max (15.06.05 13:47) [3]
Эт почему не помогло ?
← →
-=XP=- © (2005-06-15 13:49) [5]Чем трактуется необходимость использования TStaticText?
TLabel не подходит?
Ну, или просто отрисовывать текст (DrawText) по надобности.
← →
mad0max (2005-06-15 13:59) [6]to Игорь Шевченко я не гуру и так понимаю что дополнительно надо что-то прорисовывать при использовании SS_OWNERDRAW
to -=XP=- попытка написать на чистом API без VCL,
DrawText не пробовал, TextOUT не получилось... :(
← →
-=XP=- © (2005-06-15 14:21) [7]TextOUT не получилось
Это как это? Приведите свой код.
← →
alpet © (2005-06-15 14:21) [8]Если используется не TLabel, а TStaticText (STATIC короче) могу посоветывать использовать WM_CTLCOLORSTATIC, в обработчике сего сообщения достаточно вызвать SetBkMode (wParam, TRANSPARENT);
← →
alpet © (2005-06-15 14:33) [9]Кстати у компонента TLabel есть такое свойство Transparent. Или требуется полупрозрачность?
← →
mad0max (2005-06-16 05:24) [10]to -=XP=- в виндовой функции на событие WM_PAINT
...
WM_PAINT: begin
DC := GetDC(hWindow);
OutText(DC, 10, 10, "Колбаса", 7);
ReleaseDC(hWindow, DC);
end;
...
to alpet я ж писал :) на API мне надо - там никаких TLabel нет :)
← →
mad0max (2005-06-16 08:09) [11]Спасибо всем кто давал советы!!!
Победил...
← →
Игорь Шевченко © (2005-06-16 11:05) [12]mad0max (16.06.05 08:09) [11]
> Победил...
Каким образом ?
← →
mad0max (2005-06-16 12:48) [13]to Игорь Шевченко
Пришлось убирать при создании окна создание элемента формы-битмапа и переносить его в функцию окна в качестве прорисовки, получилось что-то типа такого, на событие WM_PAINT
1. Загрузка битмапа из ресурса и прорисовка BitBlt
2. SetBkMode(hWindow, TRANSPARENT)
3. TextOut
Все получилось как надо.. но зараза проблема с прорисовкой окна...
Поначалу в окне все как надо битмап и на нем надпись.. а вот если по Alt-Tab перейти в другое окно, а потом вернуться обратно - битмапа как не бывало :), а надпись как ни странно присутствует :)
← →
alpet © (2005-06-16 12:57) [14]Где ValidateRect(Rgn)?.
WM_CTLCOLORSTATIC в данном случае куда более удобное решение, благо для этих целей и разрабатывалось. Похоже что WM_ERASEBKGND система для своего контрола сама обрабатывает, раз битмап стирается.
Страницы: 1 вся ветка
Текущий архив: 2005.08.14;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.043 c