Où se trouve la ressource Win32 pour le curseur de la souris permettant de faire glisser les séparateurs ?

StackOverflow https://stackoverflow.com/questions/47538

  •  09-06-2019
  •  | 
  •  

Question

Je construis un contrôle/widget win32 personnalisé et j'aimerais changer le curseur en un symbole de « séparateur » horizontal lorsque je survole une ligne verticale particulière dans le contrôle.C'EST À DIRE:Je veux faire glisser cette ligne verticale (barre de séparation) vers la gauche et la droite (OUEST et EST).

Parmi les curseurs système (OCR_*), le seul curseur qui a du sens est OCR_SIZEWE.Malheureusement, c'est le gros curseur gênant que le système utilise lors du redimensionnement d'une fenêtre.Au lieu de cela, je recherche le curseur d'environ 20 pixels de haut et d'environ 3 ou 4 pixels de large avec deux petites flèches pointant vers la gauche et la droite.

Je peux facilement dessiner ceci et l'inclure comme ressource dans mon application, mais le curseur lui-même est si répandu que je voulais être sûr qu'il ne manquait rien.

Par exemple:lorsque vous utilisez le mécanisme glisser-déposer COM (CLSID_DragDropHelper, IDropTarget, etc.), vous avez implicitement accès à l'icône "glisser" (petite case sous le pointeur).Je n'ai pas vu de constante OCR_* explicite pour ce type...de même, si je ne trouve pas directement ce curseur séparateur, je me demande s'il fait partie d'un objet COM ou de quelque chose d'autre dans la bibliothèque win32.

Était-ce utile?

La solution

Toutes sortes d'icônes, de curseurs et d'images sont utilisées dans l'interface utilisateur Windows qui ne sont pas accessibles au public pour les logiciels tiers.Bien sûr, vous pouvez toujours charger le module dans lequel ils résident et les utiliser, mais rien ne garantit vraiment que votre programme continuera à fonctionner après une mise à jour/mise à niveau du système.

Incluez le vôtre.La dernière chose que vous souhaitez est d'ajouter une dépendance supplémentaire sur un tout petit curseur.

Autres conseils

J'ai eu exactement ce problème.Lorsque j'ai repensé à un ancien code pour un séparateur vertical en pensant avoir une réponse simple, il s'est avéré que j'avais construit et chargé ma propre ressource :

SetCursor( LoadCursor( ghInstance, "IDC_SPLITVERT" ));

Je me souviens vaguement d'avoir investi un temps et des efforts considérables pour trouver le moyen de le faire, donc (je suppose) qu'il n'y a pas d'icône système facilement disponible pour faire le travail, vous feriez donc mieux de lancer la vôtre.

C'est un de ces moments où j'aimerais me tromper, car j'aurais aimé qu'il y ait une icône système pour ce travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top