OVH Cloud OVH Cloud

Faire du HTML

2 réponses
Avatar
Christian
Bonjour,

Juste pour savoir s'il me faut me lancer dans une grosse programmation ou
non. Existe t'il un contrôle qui garde le format pour ensuite être envoyé en
HTML J'utilise Winsock pour ce faire.

Par exemple l'utilisateur écris son texte dans un contrôle richTexte, dans
lequel il fait des sauts de lignes, met des mots en gras et colorie le texte
de différentes couleurs.

Est-ce qu'en enregistrant simplement le contenu du richTexte dans une
variable, il me suffit d'utiliser cette variable comme telle dans le corps
de mon mail HTML soit : "<BODY>" & CorpsMsgTextRich & "</BODY>" .A la
réception du mail celui-ci sera t-il équivalent à ce qu'a écris
l'utilisateur ?

Sinon il me faut parser le contenu pour détecter les différences de format
et les traduire en mode HTML Dans ce cas comment détecte t'on les
différences de format gras ou couleurs ?


Christian.

2 réponses

Avatar
Picalausa François
Hello,

L'HTML est tout à fait différent du RTF (utilisé dans une richtextbox).
Donc, si tu t'oriente de ce côté, un parseur RTF, ainsi que la génération de
l'HTML devront être réalisés...

Il existe cependant une alternative. Le contrôle webbrowser (Microsoft
Internet Controls) peut te permettre d'éditer son contenu (attribut
contentEditable... attention, spécifique Microsoft):
http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/contenteditable.asp
et
http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/execcommand.asp

Voici un exemple:
Sur une Form, Form1, avec un webBrowser, webbrowser1 et un bouton de
commande, command1:
Option Explicit
Private Sub Form_Load()
Command1.Enabled = False
WebBrowser1.Navigate "about:blank"
End Sub

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As
Variant)
WebBrowser1.Document.Write "<html><head>" & _
"<title>My content editor</title></head>" & _
"<body contentEditable=""true""></body>"
Command1.Enabled = True
End Sub

Private Sub Command1_Click()
WebBrowser1.Document.execCommand "bold"
WebBrowser1.Document.execCommand "ForeColor", False, "red"
MsgBox WebBrowser1.Document.Body.innerHtml
End Sub

Il existe aussi un contrôle nommé "DHTML Edit Control", mais celui-ci n'est
plus supporté et mis à jour par Microsoft. Je l'évoque uniquement à titre
d'information!

--
Picalausa François

"Christian" a écrit dans le message de news:
452672dd$0$23508$
Bonjour,

Juste pour savoir s'il me faut me lancer dans une grosse programmation ou
non. Existe t'il un contrôle qui garde le format pour ensuite être envoyé
en
HTML J'utilise Winsock pour ce faire.

Par exemple l'utilisateur écris son texte dans un contrôle richTexte, dans
lequel il fait des sauts de lignes, met des mots en gras et colorie le
texte
de différentes couleurs.

Est-ce qu'en enregistrant simplement le contenu du richTexte dans une
variable, il me suffit d'utiliser cette variable comme telle dans le corps
de mon mail HTML soit : "<BODY>" & CorpsMsgTextRich & "</BODY>" .A la
réception du mail celui-ci sera t-il équivalent à ce qu'a écris
l'utilisateur ?

Sinon il me faut parser le contenu pour détecter les différences de format
et les traduire en mode HTML Dans ce cas comment détecte t'on les
différences de format gras ou couleurs ?


Christian.






Avatar
Christian
Merci beaucoup pour la réponse, comme toujours très complète.

Christian.


"Picalausa François" a écrit dans le message de news:

Hello,

L'HTML est tout à fait différent du RTF (utilisé dans une richtextbox).
Donc, si tu t'oriente de ce côté, un parseur RTF, ainsi que la génération


de
l'HTML devront être réalisés...

Il existe cependant une alternative. Le contrôle webbrowser (Microsoft
Internet Controls) peut te permettre d'éditer son contenu (attribut
contentEditable... attention, spécifique Microsoft):



http://msdn.microsoft.com/workshop/author/dhtml/reference/properties/content
editable.asp
et



http://msdn.microsoft.com/workshop/author/dhtml/reference/methods/execcomman
d.asp

Voici un exemple:
Sur une Form, Form1, avec un webBrowser, webbrowser1 et un bouton de
commande, command1:
Option Explicit
Private Sub Form_Load()
Command1.Enabled = False
WebBrowser1.Navigate "about:blank"
End Sub

Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As
Variant)
WebBrowser1.Document.Write "<html><head>" & _
"<title>My content editor</title></head>" & _
"<body contentEditable=""true""></body>"
Command1.Enabled = True
End Sub

Private Sub Command1_Click()
WebBrowser1.Document.execCommand "bold"
WebBrowser1.Document.execCommand "ForeColor", False, "red"
MsgBox WebBrowser1.Document.Body.innerHtml
End Sub

Il existe aussi un contrôle nommé "DHTML Edit Control", mais celui-ci


n'est
plus supporté et mis à jour par Microsoft. Je l'évoque uniquement à titre
d'information!

--
Picalausa François

"Christian" a écrit dans le message de news:
452672dd$0$23508$
> Bonjour,
>
> Juste pour savoir s'il me faut me lancer dans une grosse programmation


ou
> non. Existe t'il un contrôle qui garde le format pour ensuite être


envoyé
> en
> HTML J'utilise Winsock pour ce faire.
>
> Par exemple l'utilisateur écris son texte dans un contrôle richTexte,


dans
> lequel il fait des sauts de lignes, met des mots en gras et colorie le
> texte
> de différentes couleurs.
>
> Est-ce qu'en enregistrant simplement le contenu du richTexte dans une
> variable, il me suffit d'utiliser cette variable comme telle dans le


corps
> de mon mail HTML soit : "<BODY>" & CorpsMsgTextRich & "</BODY>" .A la
> réception du mail celui-ci sera t-il équivalent à ce qu'a écris
> l'utilisateur ?
>
> Sinon il me faut parser le contenu pour détecter les différences de


format
> et les traduire en mode HTML Dans ce cas comment détecte t'on les
> différences de format gras ou couleurs ?
>
>
> Christian.
>
>
>
>