Главная страница
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.023 c
3-1081165778
Санек
2004-04-05 15:49
2004.05.02
Как достать список пользователей домена ?


9-1068437144
DDS
2003-11-10 07:05
2004.05.02
OPENGL: Как повернуть ось системы координат на угол.


6-1078052415
Esc
2004-02-29 14:00
2004.05.02
Packet driver or ...???


4-1078831672
mixi
2004-03-09 14:27
2004.05.02
Значения переменных


3-1080896327
Max_
2004-04-02 12:58
2004.05.02
DBExpress и Отчаяние