Recuperation des curseurs windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 567 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
Messages postés
615
Date d'inscription
dimanche 13 août 2006
Statut
Membre
Dernière intervention
13 décembre 2018
3
Bj Clandestino!
Je suis sous XP, mais ça ne marche pas chez moi!
Pourquoi mets-tu : -21? : Screen.Cursors[-21]
Bien à toi
Messages postés
16
Date d'inscription
lundi 16 décembre 2002
Statut
Membre
Dernière intervention
11 novembre 2004

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.