Problème d'activeX = Comdlg32.ocx

Problème d'activeX = Comdlg32.ocx - VB/VBA/VBS - Programmation

Marsh Posté le 29-04-2003 à 19:25:19    

Bonjour,
J'ai un pb avec cet ocx car je n'arrive pas à modifier la couleur du texte sélectionné par cet ActiveX.
J'arrive à modifier la police, la taille, mettre en barré, souligné, italique mais de changement de couleur.
 
Le flag que j'ai positionné est &H100 mais le retour de  
 RetourObj = objDialog.Color
        msgbox RetourObj  
est vide pourquoi ?
NB : je suis en Windows NT

Reply

Marsh Posté le 29-04-2003 à 19:25:19   

Reply

Marsh Posté le 29-04-2003 à 22:23:03    

jenner a écrit :

Bonjour,
J'ai un pb avec cet ocx car je n'arrive pas à modifier la couleur du texte sélectionné par cet ActiveX.
J'arrive à modifier la police, la taille, mettre en barré, souligné, italique mais de changement de couleur.
 
Le flag que j'ai positionné est &H100 mais le retour de  
 RetourObj = objDialog.Color
        msgbox RetourObj  
est vide pourquoi ?
NB : je suis en Windows NT  


 
 
pour afficher la boite de dialogue des couleur c'est "showcolor", autrement dit "commondialog1.showcolor".
Ensuite tu affecte la couleur que tu veux au texte en questions...
 
exemple de l'aide MSDN  :
 

Code :
  1. Private Sub Form_Paint ()
  2.    Static FlagFormPainted As Integer
  3.    ' Première définition de la feuille
  4.    If FlagFormPainted <> True Then
  5.       For i = 1 To 5
  6.          Load Option1(i)   ' Ajoute cinq boutons d'option au tableau.
  7.          Option1(i).Top = Option1(i - 1).Top + 350
  8.          Option1(i).Visible = True
  9.       Next i
  10.      
  11.       Option1(0).Caption = "Ouvrir"         ' Place une légende sur
  12.       Option1(1).Caption = "Enregistrer"   ' chaque bouton d'option.
  13.       Option1(2).Caption = "Couleur"
  14.       Option1(3).Caption = "Police"
  15.        Option1(4).Caption = "Imprimer"
  16.       Option1(5).Caption = "Aide"
  17.       ' Place une légende sur le bouton de commande
  18.       Command1.Caption = "Affiche dialogue" 
  19.       FlagFormPainted = True   ' Fin de la définition de la feuille.
  20.    End If
  21. End Sub
  22. Private Sub Command1_Click ()
  23.    If Option1(0).Value Then   ' Si le bouton d'option Ouvrir
  24.       CommonDialog1.ShowOpen    ' est sélectionné, affiche la
  25.                               ' boîte de dialogue commune Ouvrir.
  26.    ElseIf Option1(1).Value Then   ' Ou affiche la boîte de dialogue
  27.       CommonDialog1.ShowSave      ' commune Enregistrer.
  28.    ElseIf Option1(2).Value Then   ' Ou affiche la boîte de dialogue
  29.       CommonDialog1.ShowColor      ' commune Couleur.
  30.    ElseIf Option1(3).Value Then      ' Ou la propriété Flags
  31.       CommonDialog1.Flags = cdlCFBoth   ' doit prendre les valeurs
  32.             ' cdlCFBoth,               ' cdlCFPrinterFonts,
  33.             ' ou cdlCFScreenFonts       'avant d'utiliser la méthode ShowFont.
  34.       CommonDialog1.ShowFont   ' Affiche la boîte de
  35.                               'dialogue commune Police.
  36.    ElseIf Option1(4).Value Then   ' Ou affiche la boîte de dialogue
  37.       CommonDialog1.ShowPrinter   ' commune Impression.
  38.  
  39.    ElseIf Option1(5).Value Then   ' Ou affiche la
  40.       CommonDialog1.HelpFile = "VB5.hlp"
  41.       CommonDialog1.HelpCommand = cdlHelpContents
  42.       CommonDialog1.ShowHelp   ' rubrique Sommaire de l'aide Visual Basic.
  43.       End If
  44. End Sub


Message édité par cvb le 29-04-2003 à 22:23:31
Reply

Marsh Posté le 30-04-2003 à 10:01:59    

L'activeX comdlg32.ocx permet d'afficher une boite de dialogue de changement du style de la police en faisant un showfont et en positionnant le flag à &H100 (ou 256 en décimal).
Ce flag permet de faire apparaître dans cette boite de Dlg, les attributs souligné, barré et changement de couleur...
 
La modification souligné ou barré fonctionne mais pas le changement de couleur. En effet, le retour de RetourObj = objDialog.Color est vide.
 
Need help !!!!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed