Nous avons un contrôle RichEdit dans lequel nous permettons à l'utilisateur d'insérer un objet d'équation Office MathML.Comment aligner la position de l'objet de collage RichEdit dans Visual Basic 6?
Fondamentalement, la logique va comme ceci: l'utilisateur clique sur l'équation d'insertion de mathématiques, nous leur permettre d'utiliser un éditeur MathML externe, nous allons coller une image pour représenter l'équation dans le contrôle RichEdit:
' Paste the picture into the RichTextBox.
SendMessage ctlLastFocus.hwnd, WM_PASTE, 0, 0
Trouver sa position et le verrouiller à l'aide:
With ctlLastFocus
'lock the image
.SelStart = .SelStart - 1
.SelLength = 1
.SelProtected = True
il est tout beau et bien dans le beau monde de la norme ANSI, mais nous permettons aussi Unicode personnages, et ce que je l'ai remarqué est que lorsque vous utilisez des caractères chinois, la position de l'insertion est fausse de la moitié de la position totale, c'est-à-dire si elle est supposée être la 7e position maintenant, elle est insérée au troisième.
Fondamentalement divisé par deux, je suppose que l'Unicode prend deux octets par rapport à ANSI qui n'en nécessite qu'un seul. Donc, parce que je suis un mannequin sans expérience avec le RTF, RichEdit et Visual Basic 6.
Donc ma question est: puis-je changer la position de l'image lorsque je la collez en utilisant la ligne sendMessage?
Ou via un autre moyen de contrôler la position de l'image insérée dans la zone RichEdit?
Comment déterminez-vous la position d'insertion? Je ne peux voir que le code de verrouillage. –