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

Вниз

Как вытащить иконку?   Найти похожие ветки 

 
Константин Григорьев   (2003-01-31 11:22) [0]

Имеется окно, имеется иконка, необходимо поместить иконку из окна в BitBtn.Glyph, без применения визуальных средств.


 
DVM ©   (2003-01-31 11:48) [1]

function GetIconFromWindow(Wnd:HWND; BigIcon:boolean):THandle;
var
BigOrSmall,BigOrSmall2:integer;
HIcon:THandle;
begin
hIcon:=0;
if BigIcon then
begin
BigOrSmall:=ICON_BIG;
BigOrSmall2:=GCL_HICON;
end
else
begin
BigOrSmall:=ICON_SMALL;
BigOrSmall2:=GCL_HICONSM;
end;

SendMessageTimeout(Wnd, WM_GETICON, BigOrSmall, 0, SMTO_ABORTIFHUNG, 1000, HIcon);
if hIcon=0 then hIcon := GetClassLong(Wnd, BigOrSmall2);
if hIcon=0 then SendMessageTimeout(Wnd, WM_GETICON, BigOrSmall, 1,
SMTO_ABORTIFHUNG, 1000, hIcon);
if hIcon=0 then hIcon := GetClassLong(Wnd, BigOrSmall2);
if hIcon=0 then SendMessageTimeout(Wnd, WM_QUERYDRAGICON, BigOrSmall,
0, SMTO_ABORTIFHUNG, 1000, hIcon);


result:=hIcon;
end;

//***********************************
AIcon := GetIconFromWindow(wnd,false);
if AIcon=0 then AIcon := GetIconFromWindow(wnd,true);
if AIcon <> 0 then
begin
Icon := TIcon.Create();
Icon.Handle := AIcon;
try
BitBtn1.Glyph.Canvas.FillRect(RECT(0,0,BitBtn1.Glyph.Width,BitBtn1.Glyph.Height));
DrawIconEx(BitBtn1.Glyph.Canvas.Handle,1, 1,Icon.Handle,16,16,0,0,DI_NORMAL);
finally
Icon.Free();
end;
//***********************************


> без применения визуальных средств

А BitBtn - это невизуально?







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

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

Наверх




Память: 0.46 MB
Время: 0.026 c
7-29126
Romaizdurdoma
2002-12-05 22:06
2003.02.10
Посылают ли винды сообщения о смене системной даты.?


7-29118
zuber
2002-12-03 22:40
2003.02.10
Помогите! Как звонить модемом


1-28850
Ihtiandr
2003-01-29 18:24
2003.02.10
DataTimePicker


1-28824
ДмитрийК
2003-02-02 15:06
2003.02.10
Нужно выполнить процедуру после того, как форма уже появилась


14-29031
Ihtiandr
2003-01-24 12:11
2003.02.10
InstallSheild