Necesito encontrar el componente de editor HTML WYSIWYG básico para C++ Builder 5 para permitir a los usuarios crear texto simple que pegaré en la plantilla de página HTML existente. Simplemente un soporte simple para crear enlaces, agregar imágenes, usar encabezados/negrita/cursiva.Editor de HTML para CBuilder/Delphi
Respuesta
que puede caer un TWebBrowser en un formulario y permitir DesignMode en él, así:
// Delphi code..
(WebBrowser1.Document as IHTMLDocument2).designMode := 'on';
Después de ejecutar la línea anterior, la página será editable. Puede escribir texto adicional, eliminar, etc. Si desea hacer selecciones en negrita o insertar imágenes, tendrá que agregar algunos botones para programar eso. Lo bueno es que puedes hacerlo desde Delphi (o constructor de C++ en tu caso) o puedes agregar javascript en la página para editarse.
El contenido de la página se pueden recuperar de
(WebBrowser.Document as IHTMLDocument2).body.innerHTML;
Recuerde que (WebBrowser.Document como IHTMLDocument2) podría ser nula.
De todos modos, puedo imaginar que hay alrededor de los componentes que hacen todo el trabajo por usted, que es probablemente la mejor ruta a tomar de reinventar la rueda.
Recomendaría TRichView debido a su soporte de clase mundial, y el conjunto de características profundas. Si bien no es un verdadero editor de "HTML", sí admite la capacidad de exportar a HTML, incluso generando los estilos CSS adecuados si es necesario. Lo uso para manejar la porción de correo electrónico de nuestro producto principal y funciona muy bien. Internamente, el almacenamiento es RTF (ampliado para admitir imágenes mejor), o como un formato propietario. Hay muchos ejemplos de editores simples que se adaptarían fácilmente a sus necesidades.
He usado TRichView durante casi 10 años. Es bueno, pero puede ser exagerado para un editor simple. La única deficiencia es que todavía no maneja la alineación de imágenes. Hemos estado trabajando en Sergey durante años tratando de que lo agregue. Siempre ha sido ... próxima versión. (Quizás este comentario lo excitará). – lkessler
en C++ Builder, sería algo como esto:
(WB es un TCppWebBrowser)
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "mshtml.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnNavigateAndEditClick(TObject *Sender)
{
wb->Navigate((WideString)"www.google.com");
while (wb->Busy)
Application->ProcessMessages();
if (wb->Document)
{
IHTMLDocument2 *html;
wb->Document->QueryInterface<IHTMLDocument2>(&html);
html->put_designMode(L"On");
html->Release();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnInsertImageClick(TObject *Sender)
{
if (wb->Document)
{
IHTMLDocument2 *html;
wb->Document->QueryInterface<IHTMLDocument2>(&html);
VARIANT var;
VARIANT_BOOL receive;
html->execCommand(L"InsertImage",true,var, &receive);
html->Release();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::btnGetHtmlClick(TObject *Sender)
{
if (wb->Document)
{
IHTMLDocument2 *html;
wb->Document->QueryInterface<IHTMLDocument2>(&html);
IHTMLElement *pElement;
html->get_body(&pElement);
pElement->get_parentElement(&pElement);
wchar_t *tmp;
pElement->get_outerHTML(&tmp);
Memo1->Lines->Text = tmp;
pElement->Release();
html->Release();
}
}
//---------------------------------------------------------------------------
suministra un conjunto gratuito de EmbeddedWebBrowser
componentes con un componente de edición Diseñador que se vincula a la ventana EmbeddedBrowser
para controlar el modo de diseño y tiene control de edición guardar en un archivo, insertar enlaces, imágenes, etc ...
parece funcionar bien!
- 1. Editor de Eclipse HTML para archivos de plantilla HTML
- 2. HTML + CSS + Javascript Editor
- 3. Componente WYSIWYG HTML Editor para Delphi
- 4. propiedades editor HTML
- 5. Java WYSIWYG Editor de HTML
- 6. Editor HTML con codificación html integrada en
- 7. Plugin jQuery para HTML Editor con coloreado de sintaxis
- 8. ¿Editor de HTML en el navegador para tablas?
- 9. Mejor editor de wysiwyg html gratuito disponible
- 10. Eclipse: ¿cómo ampliar el editor HTML para agregar etiquetas personalizadas?
- 11. Necesita un editor html pequeño y liviano para la web
- 12. Wordpress - Insertar html/texto en el editor
- 13. ¿Cómo hacer un editor HTML/JS WYSIWYG?
- 14. Insertar HTML programáticamente en el editor wysiHTML5
- 15. Plugin de editor de velocidad para Eclipse?
- 16. Editor tipo RapidWeaver para Windows
- 17. ¿Hay algún editor HTML de código abierto como stackoverflow?
- 18. ¿Dónde puedo encontrar un editor HTML de Silverlight con WYSIWYG?
- 19. Editor de fragmentos de HTML basado en web
- 20. ¿Buen editor de HTML/CSS/PHP gratuito y multiplataforma?
- 21. ¿Hay un impresionante editor de HTML/JS que me falta?
- 22. Editor de navegador WYSIWYG que genera * buen * HTML?
- 23. Busca un editor de HTML in-situ basado en jQuery
- 24. editor xml para Linux
- 25. editor localizable.strings para traductores
- 26. Cookie Editor para IE?
- 27. Editor CoffeeScript para MacOS
- 28. Editor liviano para C#?
- 29. Editor WYSIWYG para XUL
- 30. ¿Hay un editor de SQL impulsado por HTML + css + javascript?
Tenía la esperanza de tener un componente que ya incluye todos los botones - algo así como un bebé Página de inicio – Riho
Si tiene RADPHP, eche un vistazo a la carpeta 'Embarcadero \ RadPHP \ 3.0 \ plugins \'. Encontrarás 'uHTMLEdit.pas' y' uHTMLEdit.dfm'. Es un editor HTML de una sola forma que no tiene dependencias distintas de la VCL estándar. –
@WoutervanNifterick - Intenté esta unidad, pero no funcionará con MOST archivos html: http://www.stackoverflow.com/questions/39594393/twebbrowser-crashes-with-some-html-files – Ampere