Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.029 c
14-1081336643
Домарощинер
2004-04-07 15:17
2004.05.02
Сборка собственного пакета


14-1081614813
Bzzzzeeer
2004-04-10 20:33
2004.05.02
Квесты


1-1082111343
Tornado
2004-04-16 14:29
2004.05.02
PageControl


14-1081687647
Thor
2004-04-11 16:47
2004.05.02
посоветуйте книгу по PHP.


1-1082195232
Leviathan
2004-04-17 13:47
2004.05.02
Выделение синим в StringGrid




   Наверх