Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

INITIALISER LA COULEUR PAR DEFAUT D'UNE BOITE DE DIALOGUE COULEUR


Information sur la source

Description

Permet d'ouvrir une boite de de dialogue couleur et d'initiliser la couleur par défaut grâce à l'api ChooseColor

Ce code est une adaptation de la demo de microsoft qui utilisée d'ancienne déclaration d'api

NB les déclaration de l'api est faite dans un module standard
 

Source

  • '********************************************************************
  • 'exemple de fonction appelée ChooseColor() qui utilise la boîte de dialogue
  • 'Couleur standard Microsoft Windows afin que vous pouvez choisir parmi un plus grand
  • 'choix de couleurs ou créer votre propre couleur personnalisée.
  • '
  • '
  • ' ARGUMENTS: Couleur par défaut type long
  • '
  • ' RETURN VALUE:
  • ' >=0 The user-selected RGB value
  • ' -1 erreur COMMDLG. Une message box affichera le numéro d'erreur
  • ' Cette source adapte le code de démonstartion du sit aide et support
  • ' de microsoft pour access http://support.microsoft.com/kb/109390/fr
  • ' la source original utilisé des declaratios d'api obsolètes
  • ' ********************************************************************
  • Option Explicit
  • ' Tableau contenant les definitions des couleurs personalisées
  • Dim CustomColors(15) As Long
  • Function ChooseColorDlg(ByVal DefaultColor As Long) As Long
  • Dim C As ChooseColor
  • Dim Result As Integer, i As Integer
  • ' Initialise la structure Choose Color
  • C.lStructSize = Len(C)
  • C.hwndOwner = 0&
  • C.lpCustColors = VarPtr(CustomColors(0))
  • C.rgbResult = DefaultColor
  • C.flags = CC_RGBINIT Or CC_FULLOPEN
  • ' appel la routine Choose Color COMMDLG
  • Result = ChooseColor(C)
  • ' en cas d'erreur
  • If Result = 0 And CommDlgExtendedError() <> 0 Then
  • ChooseColorDlg = -1
  • MsgBox Str$(CommDlgExtendedError()), 16, "Choose Color Error"
  • End If
  • ' Return the selected color
  • ChooseColorDlg = C.rgbResult
  • End Function
  • Private Sub Command1_Click()
  • Dim i As Integer
  • ' rempli le tableau des couleurs personalisées aléatoirement
  • For i = 0 To UBound(CustomColors)
  • CustomColors(i) = vbWhite * Rnd
  • Next
  • End Sub
  • Private Sub Command2_Click()
  • Me.BackColor = ChooseColorDlg(Me.BackColor)
  • End Sub
  • '********************************************************************
  • ' MODULE DE DECLARATION : Module1.bas
  • ' plus d'info voir win32.hlp
  • '********************************************************************
  • Option Explicit
  • 'Structure ChooseColor
  • Type ChooseColor
  • lStructSize As Long
  • hwndOwner As Long
  • hInstance As Long
  • rgbResult As Long
  • lpCustColors As Long
  • flags As Long
  • lCustData As Long
  • lpfnHook As Long
  • lpTemplateName As String
  • End Type
  • Global Const CC_RGBINIT = &H1 'force l'initilaisation de la couleur à l'ouverture de la boite de dialogue
  • Global Const CC_FULLOPEN = &H2
  • Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (ByRef pChoosecolor As ChooseColor) As Long
  • Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long
   '********************************************************************
   'exemple de fonction appelée ChooseColor() qui utilise la boîte de dialogue 
   'Couleur standard Microsoft Windows afin que vous pouvez choisir parmi un plus grand
   'choix de couleurs ou créer votre propre couleur personnalisée.
   '
   '
   ' ARGUMENTS:   Couleur par défaut type long
   '
   ' RETURN VALUE:
   '   >=0  The user-selected RGB value
   '   -1   erreur COMMDLG.  Une message box affichera le numéro d'erreur
   ' Cette source adapte le code de démonstartion du sit aide et support
   ' de microsoft pour access http://support.microsoft.com/kb/109390/fr
   ' la source original utilisé des declaratios d'api obsolètes
   ' ********************************************************************
   
   Option Explicit
   
   ' Tableau contenant les definitions des couleurs personalisées
      Dim CustomColors(15) As Long
   
   Function ChooseColorDlg(ByVal DefaultColor As Long) As Long
      Dim C As ChooseColor
      Dim Result As Integer, i As Integer
      

     
      ' Initialise la structure Choose Color
      C.lStructSize = Len(C)
      C.hwndOwner = 0&
      C.lpCustColors = VarPtr(CustomColors(0))
      C.rgbResult = DefaultColor
      C.flags = CC_RGBINIT Or CC_FULLOPEN

      ' appel la routine Choose Color COMMDLG
      Result = ChooseColor(C)

      ' en cas d'erreur
      If Result = 0 And CommDlgExtendedError() <> 0 Then
         ChooseColorDlg = -1
         MsgBox Str$(CommDlgExtendedError()), 16, "Choose Color Error"
      End If

      ' Return the selected color
      ChooseColorDlg = C.rgbResult

   End Function


Private Sub Command1_Click()
      Dim i As Integer
      ' rempli le tableau des couleurs personalisées aléatoirement
      For i = 0 To UBound(CustomColors)
         CustomColors(i) = vbWhite * Rnd
      Next
End Sub

Private Sub Command2_Click()
Me.BackColor = ChooseColorDlg(Me.BackColor)
End Sub

   '********************************************************************
   ' MODULE DE DECLARATION : Module1.bas
   ' plus d'info voir win32.hlp
   '********************************************************************
   Option Explicit

   'Structure ChooseColor
 Type ChooseColor
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    rgbResult As Long
    lpCustColors As Long
    flags As Long
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type

   Global Const CC_RGBINIT = &H1 'force l'initilaisation de la couleur à l'ouverture de la boite de dialogue
   Global Const CC_FULLOPEN = &H2

   Declare Function ChooseColor Lib "comdlg32.dll" Alias "ChooseColorA" (ByRef pChoosecolor As ChooseColor) As Long
      
   Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Couleur d'un contrôle avec API ? [ par juanguic ] Comment changer la couleur d'un controle avec le hwnd en utilisant une API ? Changer la couleur d'un texte écrit par l'API DrawText ? [ par azerty25 ] Lu allLa question est dans le titre, un texte dessiné avec cette API et par défaut noir et j'ai pas trouvé comment la changer :(== @Z3RtY25 == Remplacer une couleur par une autre rapidement [ par cushy007 ] Existe-t-il une API qui permet de remplacer une couleur pr&#233;sente dans un rectanle par une autre? J'utilise aujourd'hui les API GetPixel et SetPi Comment changer la couleur d'un bouton (propriété backcolor) avec api ?. [ par davidauche ] Bonjour,Bon, tout simplement, Je veux changer la couleur d'un bouton (command1) existe dans la feuille Form avec api, j'ai bien amusée ce week-end a GetPixel En gros [ par fuck ] Bonjour et merci de lire ce messageJe cherche (si ya ) une api capable de réccuperer la couleur d'un rectangle : un peu comme L'api getpixel .Sauf que Détecter une couleur sur l'écran [ par Deagle ] Salut...Je ne sais pas si ce que je veux faire ce fait sous VB. Bon :) J'aimerais faire un programme qui detecte une couleur particuliere sur l'écran API WINPOPUP [ par alphacrash ] Salut, 'aimerais savoir si il existe une api pr pouvoir ocontroler winpopup envoyer des messages surtout.merci de votre aide ?..PS c pressant encore m marges et API [ par XWinnieX ] Je cherche à trouver la marge a gauche et au dessus de la zone imprimable d'une imprimante.la propriété PHYSICALOFFSET de l'api GETDEVICECAPS devrait Couleur d'affichage du texte d'un lien en HTML [ par Humphrey ] Salut...Je début dans la prog. web, et je cherche comment modifier la couleur par défaut des liens ( &lt;A Href... &gt; ) qui se trouvent dans une pag les couleur d'une source dans un textbox [ par lucky2222 ] est il possible de faire apparaitre les couleurs des phrases comme dans les pages sources dans un textbox, ou dois je obligatoirement utiliser une ric


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.