Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.15;
Скачать: CL | DM;

Вниз

фон под текстом у иконак на рбочем столе   Найти похожие ветки 

 
Igit ©   (2002-06-06 22:05) [0]

Как мне на чистом WinApi сделать фон под текстом у иконак на рбочем столе прозрачным. Тот совет в форуме не работает
(по подробнее, pls:)


 
easy   (2002-06-07 16:22) [1]

...вот кусочек юнита:
var
Form1: TForm1;
Const LVM_FIRST = 4096;
Const LVM_GETTEXTBKCOLOR = 4133;
Const LVM_SETTEXTBKCOLOR = 4134;
Const CLR_NONE = 4294967295;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var SysListView32,SHELLDLLDefView:hwnd;
begin
SHELLDLLDefView := FindWindowEx(FindWindow("Progman", "Program Manager"), 0, "SHELLDLL_DefView", nil);
If SHELLDLLDefView <> 0 Then
SysListView32 := FindWindowEx(SHELLDLLDefView, 0, "SysListView32", nil);
If SysListView32 <> 0 Then
begin
If SendMessage(SysListView32, LVM_GETTEXTBKCOLOR, 0, 0) <> CLR_NONE Then
begin

SendMessage(SysListView32, LVM_SETTEXTBKCOLOR, 0, CLR_NONE);
InvalidateRect(SysListView32, 0, True);
UpdateWindow(SysListView32);

End;
End;

end;

...может, немного кривовато, наспех сляпал, но зато работает.8))


 
easy   (2002-06-07 17:45) [2]

...прозрачность фона надо контролировать постоянно...
Так что лучше всю эту фишку засунуть в тимер, или ставить хук на LVM_SETTEXTBKCOLOR...


 
Igit ©   (2002-06-07 19:33) [3]

Работает:)) А как цвет текста установить?


 
SPeller ©   (2002-06-08 03:17) [4]

2easy (07.06.02 17:45)
> ...прозрачность фона надо контролировать постоянно...

Умнея Microangelo делает фон прозрачным и ставит свой цвет. Убиваю его, а ярлыка всё-равно остаются прежними. Может он внедряет свой поток куда-нить?



 
easy   (2002-06-08 16:49) [5]

to Igit: LVM_SETTEXTCOLOR


 
Igit ©   (2002-06-09 16:43) [6]

Чему равен:
Const LVM_SETTEXTCOLOR = ????;
и где его писать?


 
Igit ©   (2002-06-09 16:45) [7]

Я не очень (вообще почти) понимаю WinApi :((


 
easy   (2002-06-10 15:48) [8]

LVM_SETTEXTCOLOR:=4132


 
easy   (2002-06-10 16:31) [9]

SendMessage(SysListView32, LVM_SETTEXTCOLOR, 0, clRed);


 
cdaDmitriy ©   (2002-06-11 19:37) [10]

Все работает <easy> спасибо
но все константы

Const LVM_FIRST = 4096;
Const LVM_GETTEXTBKCOLOR = 4133;
Const LVM_SETTEXTBKCOLOR = 4134;
Const CLR_NONE
LVM_SETTEXTCOLOR

описаны в модуле Commctrl;

включаешь
uses Commctrl;
и OK



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

Текущий архив: 2002.08.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-48055
anod
2002-08-02 22:28
2002.08.15
Иконка в трее :)


3-47987
zzzzzzz
2002-07-26 16:19
2002.08.15
Переиндексация


6-48230
Lefan
2002-05-31 10:06
2002.08.15
TNMHTTP и Proxy


1-48075
Are you want a tea?
2002-08-04 16:06
2002.08.15
TThread


7-48326
z00z
2002-05-22 14:33
2002.08.15
Хочу видеть работу винча