Форум: "Потрепаться";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];
ВнизЗаписать изображение активного курсора в файл Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.033 c