Сейчас на форуме: tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› restore back System cursor how?
Посл.ответ Сообщение

Ранг: 55.1 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 28 марта 2008 16:48
· Личное сообщение · #1

var
Form1: TForm1;

implementation

{$R *.dfm}
{$R MyAniCursors.res}
const AniWait = 1;

function SaveResourceAsTempFile(const ResName: string; ResType: pchar): string;
var
TempFileName: array [0..MAX_PATH-1] of char;
TempDir: array [0..MAX_PATH-1] of char;
begin
GetTempPath(MAX_PATH, TempDir);
if GetTempFileName(TempDir, '~', 0, TempFileName) = 0 then
raise Exception.Create(SysErrorMessage(GetLastError));
Result := TempFileName;
with TResourceStream.Create(hInstance, ResName, ResType) do
try SaveToFile(result);
finally
Free;
end;
end;

function GetResourceAsAniCursor(const ResName: string): HCursor;
var CursorFile: string;
begin
CursorFile := SaveResourceAsTempFile(ResName, 'ANICURSOR');
Result := LoadImage(0, PChar(CursorFile), IMAGE_CURSOR, 0, 0,
LR_DEFAULTSIZE or LR_LOADFROMFILE);
DeleteFile(CursorFile);
if Result = 0 then raise Exception.Create(SysErrorMessage(GetLastError));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
Save_Cursor,sos : TCursor;
begin
Save_Cursor := Screen.Cursor;
sos:=GetCursor;
Screen.Cursor := AniWait;
SetSystemCursor(Screen.Cursors[AniWait], OCR_NORMAL);
try
showmessage('BOOYA');
finally
Screen.Cursor := Save_Cursor;//Always restore to normal( i can't restore it)????
SetSystemCursor(sos, OCR_NORMAL);//( i can't restore it)????

end;
end;

//i can't restore it!!!!!




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 28 марта 2008 17:23
· Личное сообщение · #2

www.delphisources.ru/pages/faq/base/archives/load_from_res.zip

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 55.1 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 28 марта 2008 17:56
· Личное сообщение · #3

Thank you BUT!!!!
i want to SetSystemCursor on al desktop not on application only.
test my example above .


 eXeL@B —› Программирование —› restore back System cursor how?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати