Caret personnalisé pour WinForms zone de texte
Je suis en développement personnalisé HyperTerminal comme application dans un WinForms .Net 2.0 de l'application. J'ai une zone de texte multiligne dans un Panneau dans lequel vous pouvez interagir avec un périphérique matériel.
Mon client veut avoir un Caret personnalisé, une fois rempli, un rectangle de la taille d'un caractère espace, au lieu de la ligne verticale qui est par défaut.
Je sais .Net ne prévoit pas la possibilité de le faire par défaut, mais il y a certaines Fenêtres de la fonction pour le faire.
Vous devez vous connecter pour publier un commentaire.
Assumer un formulaire avec une zone de texte sur elle:
Ce sont la liste des Natifs Signe fonctions fournies par Windows que vous pouvez utiliser pour votre application.
Reportez-vous SharpDevelop, le Code Source @ src\Libraries\ICSharpCode.TextEditor\Projet\Src\Gui\Lambda.cs
CreateCaret
'shBitmap
paramètre doit être saisie sous la formeIntPtr
et pasint
parce qu'il est déclaré commeHBITMAP
qui est une définition de type devoid*
.Je voudrais utiliser le Système.Le dessin pour dessiner un curseur personnalisé (bitmap), peut-être avec une minuterie pour laisser clignoter comme un autre curseur.
Obtenir la position actuelle du Curseur dans les pixels et dessiner une image bitmap sur ce curseur. Peut être difficile de trouver la bonne position, mais devrait être faisable.
Jetez un oeil ici pour Propriétaire tiré zone de texte en winforms.
Utilisation:
Cacher la normale signe et dessiner votre propre? Pas testé, mais devrait fonctionner je pense.