Recuperation des curseurs windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 716 fois - Téléchargée 30 fois

Contenu du snippet

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.

A voir également

Ajouter un commentaire Commentaires
cs_Jean_Jean Messages postés 615 Date d'inscription dimanche 13 août 2006 Statut Membre Dernière intervention 13 décembre 2018 3
28 déc. 2009 à 15:07
Bj Clandestino!
Je suis sous XP, mais ça ne marche pas chez moi!
Pourquoi mets-tu : -21? : Screen.Cursors[-21]
Bien à toi
cs_clandestino Messages postés 16 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 11 novembre 2004
16 janv. 2004 à 20:51
Sympa cette source, elle va m'être utile...

Trick : pourquoi ne pas changer la resource hideuse de la main une fois pour toute? (la resource curseur 32761 dans ton fichier control.res :) )
L'editeur d'image fourni avec delphi s'en sort très bien

See ya

Clandestino

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.