cs_Guigar
Messages postés105Date d'inscriptionmercredi 12 novembre 2008StatutMembreDernière intervention 8 juin 2011
-
3 juin 2009 à 15:02
cs_Guigar
Messages postés105Date d'inscriptionmercredi 12 novembre 2008StatutMembreDernière intervention 8 juin 2011
-
5 juin 2009 à 13:59
Bonjour une petite question.
N'y a t'il que sur le control "form" que l'on peut régler l'opacity ? je n'ai rien trouvé a ce sujet dans le site
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 3 juin 2009 à 15:13
Bonjour,
Pour répondre à ta question, lance l'IDE vb, presse F2 et dans le champ de recherche saisis 'Opacity', tu verras apparaître la liste de tout les élément implémentant cette fonctionnalité.
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
cs_Guigar
Messages postés105Date d'inscriptionmercredi 12 novembre 2008StatutMembreDernière intervention 8 juin 2011 5 juin 2009 à 07:33
EN fait voila je programme donc un mcdu en .net.
Un mcdu est un ordinateur de controle présent dans les airbus. Il écrit du texte blanc (ou de couleur) sur fond noir.
Le mcdu possede un bouton de contraste, donc pour simuler le contraste j'étais obligé de placer devant une form noire sur laquelle je joue sur l'opacity, ce qui fonctionne tres bien voila le screenshot :
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 5 juin 2009 à 12:59
Bonjour,
Je vois ton type de projet, en fait il fallait poser la question autrement, c'est pour cela que l'on demande toujours au gens qui post de bien détailler leur problème. Ce que tu cherche à recréer c'est l'opacité su des label, en fait, si ton fond reste noir, et ton écriture blache, je peu te proposer ce code :
Private Sub SetBrightness(ByVal Percent AsInteger)
Dim nColor As Color = Color.FromArgb(255, _
255 * (Percent / 100), _
255 * (Percent / 100), _
255 * (Percent / 100))
For Each c In Me.Controls
If TypeOf (c) Is Label Then
Dim l As Label = DirectCast(c, Label)
l.ForeColor = nColor
End If
Next
End Sub
Tu pourra l'adapter à ton besoin si tu viens à changer la couleur de fond ou la police. Il crée simplement une couleur ARGB (32 bits avec plan alpha) et l'applique à la propriété 'ForeColor' de tous les contrôles de type 'Label' dont ton formulaire est parent direct, j'ai essayé de simplement me servir de l'Opacité de la couleur (Plan Alpha) mais on dirait que le label ne gère pas les couleurs transparentes (dommage cela t'aurrait grandement facilité la charge si tu vien à changer de couleurs).
@+ Mayzz.
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
cs_Guigar
Messages postés105Date d'inscriptionmercredi 12 novembre 2008StatutMembreDernière intervention 8 juin 2011 5 juin 2009 à 13:17
ok merci de ta solution, mais je pense que je vais rester avec la "form2" car sur les mcdu il y a de nombreuse couleur... De plus ma facon de stockés les pages du mcdu (et il y en a toute une flopé) ne me permet pas de changer les couleurs a volonté, pour chaque page je définit le texte de chaque ligne et sa couleur...
cs_Guigar
Messages postés105Date d'inscriptionmercredi 12 novembre 2008StatutMembreDernière intervention 8 juin 2011 5 juin 2009 à 13:21
le gros probleme : la couleur, de plus comme je l'ai dit pour chaque page chaque ligne est en mémoire avec sa (ou ses) couleurs...
vraiment dommage que les richtextbox ne gerent pas ce genre d'options.
Mayzz
Messages postés2813Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 5 juin 2009 à 13:57
Ce n'est pas un problème, il te suffit de récupérer les Couleur sous forme ARGB, puis de baisser l'intenssité des 3 couleurs de la même valeur, c'est à dire par exemple pour une couleur cyan dont la valeur est :
R: 255
G: 0
B: 255
Dont tu veux baisser la luminausité de 10% tu fais :
R: 255 - 25.5 = 230 (On arrondi c'est un Byte donc 230)
G: 0
B: 255 - 25.5 = 230 (Idem)
Du coup tu re retrouve avec la même teinte mais 10% de luminosité en moins, c'est pas compliqué puis c'est plus propre que de mettre une form par dessus (pour un bout de code de 10 lignes...), question: comment gère tu tes évenements (Click et cie...) ?
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <