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

Вниз

Записать изображение активного курсора в файл   Найти похожие ветки 

 
Igorek ©   (2004-04-13 15:56) [0]

После нескольких часов копания в MSDN, Хелпах, и FAQ DelphiWorld не могу решить следующую задачу: как записать изображение активного в данный момент курсора в файл? Пока имею такой код:

procedure SaveCursor(FileName: string);
var
 HCur: HCursor;
 II: _IconInfo;
 B: TBitmap;
begin
 HCur := GetCursor;
 if GetIconInfo(HCur, II) then
 begin
   B := TBitmap.Create;
//      B.Handle := II.hbmColor;
//      BitBlt(B.handle, II.)
   B.SaveToFile(FileName);
   FreeAndNil(B);
 end;
end;

На закомментированном участке споткнулся. Дело также в том, что данный курсор использует компонент стороннего разработчика и он у него не содержится в ресурсе, потому я просто так не могу его вытянуть.


 
Igorek ©   (2004-04-13 16:32) [1]

Докопался до такого:
 procedure SaveCursor(F: string);
 var
   HCur: HCursor;
   II: _IconInfo;
   B: TBitmap;
 begin
   HCur := GetCursor;
   if GetIconInfo(HCur, II) then
   begin
     B := TBitmap.Create;
     B.Width := 32;
     B.Height := 32;
     DrawIconEx(B.Handle, 0, 0, HCur, 32, 32, 0, 0, DI_NORMAL);
     B.SaveToFile(F);
     FreeAndNil(B);
   end;
 end;

Но получаю только белый квадрат.


 
Igorek ©   (2004-04-13 16:39) [2]

Все решил. Всем спасибо. Кому интересно - код:
 procedure SaveCursor(F: string);
 var
   HCur: HCursor;
   II: _IconInfo;
   B: TBitmap;
 begin
   HCur := GetCursor;
   if GetIconInfo(HCur, II) then
   begin
     B := TBitmap.Create;
     B.Width := 32;
     B.Height := 32;
     DrawIconEx(B.Canvas.Handle, 0, 0, HCur, 32, 32, 0, 0, DI_NORMAL);
     B.SaveToFile(F);
     FreeAndNil(B);
   end;
 end;



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
14-1081847255
juiceman
2004-04-13 13:07
2004.05.02
считалка трафика


4-1077707610
MZEX
2004-02-25 14:13
2004.05.02
TextOut Вывод на экран


7-1078808748
Shark
2004-03-09 08:05
2004.05.02
Delphi и SIEMENS S7


11-1065719451
Wiz@rd
2003-10-09 21:10
2004.05.02
Как сделать прокси?


3-1080814223
wer
2004-04-01 14:10
2004.05.02
поиск