Voici une petite source pour récupérer les curseurs Windows en cours d'utilisation sous la forme HICON.
Source / Exemple :
const
// OCR_HELP non reconnu par Delphi contrairement à IDC_HELP
OCR_HELP = 32651;
// OCR_PEN et IDC_PEN non reconnus par Delphi
IDC_PEN = MakeIntResource(32631);
OCR_PEN = 32631;
...
// Fonction de récupération du curseur système en cours
function GetSysCursor(Index: integer): HICON;
var
pCur: PChar;
begin
Case Index of
1 : pCur := IDC_HELP;
2 : pCur := IDC_APPSTARTING;
3 : pCur := IDC_WAIT;
4 : pCur := IDC_CROSS;
5 : pCur := IDC_IBEAM;
6 : pCur := IDC_PEN;
7 : pCur := IDC_NO;
8 : pCur := IDC_SIZENS;
9 : pCur := IDC_SIZEWE;
10 : pCur := IDC_SIZENWSE;
11 : pCur := IDC_SIZENESW;
12 : pCur := IDC_SIZEALL;
13 : pCur := IDC_UPARROW;
14 : pCur := IDC_HAND;
else
pCur := IDC_ARROW;
end;
Result := LoadCursor(0, pCur);
end;
Conclusion :
C'est bien mais pour quoi faire me direz-vous! Et bien avec ceci vous pouvez tout simplement afficher le curseur dans un TImage ou encore, et c'est ce qui m'intéressait le plus, remplacer cette "audieuse main" delphi par celle de Windows dans vos programmes.
Dans votre TForm.OnCreate ajoutez ceci:
// Remplacement du curseur Delphi crHandPoint par OCR_HAND Windows
Screen.Cursors[-21] := GetSysCursor(14);
ATTENTION, ceci ne fonctionne que sous Windows 2000 ou XP (sources MSDN) parce qu'OCR_HAND n'est pas reconnu sous les autres versions de Windows.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.