sirve que para component html dom vb6

que - dhtml download



Código para hacer un control DHTMLEd reemplazar citas rectas con comillas (1)

Aquí está la versión VB6:

Private Sub DHTMLEdit1_onkeypress() Dim e As Object Set e = DHTMLEdit1.DOM.parentWindow.event ''Perform smart-quote replacement'' Select Case e.keyCode Case 34: ''Double-Quote'' e.keyCode = 0 If IsAtWordEnd Then InsertDoubleUndo ChrW$(8221), ChrW$(34) Else InsertDoubleUndo ChrW$(8220), ChrW$(34) End If Case 39: ''Single-Quote'' e.keyCode = 0 If IsAtWordEnd Then InsertDoubleUndo ChrW$(8217), ChrW$(39) Else InsertDoubleUndo ChrW$(8216), ChrW$(39) End If End Select End Sub Private Function IsLetter(ByVal character As String) As Boolean IsLetter = UCase$(character) <> LCase$(character) End Function Private Sub InsertDoubleUndo(VisibleText As String, HiddenText As String) Dim selection As Object Set selection = DHTMLEdit1.DOM.selection.createRange() selection.Text = HiddenText selection.moveStart "character", -Len(HiddenText) selection.Text = VisibleText End Sub Private Function IsAtWordEnd() As Boolean Dim ch As String ch = PreviousChar IsAtWordEnd = (ch <> " ") And (ch <> "") End Function Private Function PreviousChar() As String Dim selection As Object Set selection = m_dom.selection.createRange() selection.moveStart "character", -1 PreviousChar = selection.Text End Function

Nota: esta solución inserta un nivel adicional en la cadena de deshacer. Por ejemplo, escribir "Esto es una prueba" da una cadena de "Esto es una prueba" -> "Esta es una prueba" -> "Esta es una prueba ->" -> "(nivel adicional en negrita). Para eliminar este nivel adicional, debe implementar algún tipo de solución de PostMessage+subclassing que no implique la cancelación de la pulsación de tecla nativa.

editar: no olvide incluir el control de edición DHTML redistribuible si se dirige a Windows Vista.

Tengo una antigua aplicación VB6 heredada que usa el control de edición DHTML como editor de HTML. El control de edición DHTML de Microsoft, también conocido como DHTMLEd, probablemente no sea más que un control de IE que usa internamente la capacidad de edición nativa de IE.

Me gustaría modificar la aplicación para implementar citas inteligentes como Word. Específicamente, " se reemplaza por " o " y " se reemplaza por " o " según corresponda según se escribe, y si el usuario presiona Ctrl + Z inmediatamente después del reemplazo, vuelve a ser una cita directa.

¿Alguien tiene código que hace eso?

Si no tiene un código para DHTML / VB6, pero tiene un código JavaScript que funciona en un navegador con contenido de regiones edificables, podría usar eso también