begin process at 2010 02 10 06:36:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Trucs & Astuces

 > 

Bordure d'un GroupBox


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Bordure d'un GroupBox

lundi 29 décembre 2008 à 10:44:40 | Bordure d'un GroupBox

amoniaque

Bonjour,

J'utilise un GroupBox avec couleur de font violet sur ma page principale en couleur bleu ciel.
Le souci se trouve sur les bordures du GroupBox : le filet aux angles arrondis ne représente pas le bord du composant du coup on voit très bien les angles du GroupBox ce qui ne donne pas un effet visuel des plus agréables.

voir copie d'écran en fichier joint

Merci,

J
lundi 29 décembre 2008 à 10:49:17 | Re : Bordure d'un GroupBox

amoniaque

http://img205.imageshack.us/img205/2531/groupboxanglejj9.jpg

le lien pour l'image ! (vu que je n'ai pas compris comment ajouter un objet ici...)
lundi 29 décembre 2008 à 12:59:33 | Re : Bordure d'un GroupBox

bernardo67

A mon avis le controle groupbox proposé par visual studio ne le permet pas.
Il faudra surement que tu redessines toi même le contrôle (Créer une classe qui hérite de groupbox). J'avais vu un exemple avec le controle Button dont on pouvait modifier la forme...

Bernardo.

lundi 29 décembre 2008 à 13:17:35 | Re : Bordure d'un GroupBox

amoniaque

Merci Bernardo,

Je m'étais fait à l'idée que ça ne puisse pas être possible mais j'avais tout de même un peu d'espérance...

Dès que j'ai un peu de temps j'essaie de créer mon propre contrôl.

Merci,

J
lundi 29 décembre 2008 à 13:23:51 | Re : Bordure d'un GroupBox

bernardo67

Voilà un bout de code que j'avais trouvé pour les boutons, peut-etre que ça pourra t'aider.

Bon courage
Bernardo.

Imports

System.Drawing

Imports

System.Drawing.Drawing2D

Imports

System.Drawing.Graphics

 

Public

Class Form1

Inherits System.Windows.Forms.Form

 

 

#

Region" Windows Form Designer generated code "

'<System.STAThread()> Public Shared Sub Main()

' Application.EnableVisualStyles()

' Application.DoEvents()

' Application.Run(New Form1) 'remplacez frmApp par le nom de votre form.

'End Sub

PublicSubNew()

MyBase.New()

'This call is required by the Windows Form Designer.

InitializeComponent()

Application.EnableVisualStyles()

'Add any initialization after the InitializeComponent() call

EndSub

'Form overrides dispose to clean up the component list.

ProtectedOverloadsOverridesSub Dispose(ByVal disposing AsBoolean)

If disposing Then

IfNot (components IsNothing) Then

components.Dispose()

EndIf

EndIf

MyBase.Dispose(disposing)

EndSub

'Required by the Windows Form Designer

Private components As System.ComponentModel.IContainer

'NOTE: The following procedure is required by the Windows Form Designer

'It can be modified using the Windows Form Designer.

'Do not modify it using the code editor.

FriendWithEvents Button3 As System.Windows.Forms.Button

FriendWithEvents Button1 As System.Windows.Forms.Button

FriendWithEvents Button2 As System.Windows.Forms.Button

FriendWithEvents Button4 As System.Windows.Forms.Button

FriendWithEvents Button5 As System.Windows.Forms.Button

FriendWithEvents Button6 As System.Windows.Forms.Button

FriendWithEvents Button7 As System.Windows.Forms.Button

FriendWithEvents Button8 As System.Windows.Forms.Button

FriendWithEvents Button9 As System.Windows.Forms.Button

<System.Diagnostics.DebuggerStepThrough()>

PrivateSub InitializeComponent()

Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Form1))

Me.Button3 = New System.Windows.Forms.Button

Me.Button1 = New System.Windows.Forms.Button

Me.Button2 = New System.Windows.Forms.Button

Me.Button4 = New System.Windows.Forms.Button

Me.Button5 = New System.Windows.Forms.Button

Me.Button6 = New System.Windows.Forms.Button

Me.Button7 = New System.Windows.Forms.Button

Me.Button8 = New System.Windows.Forms.Button

Me.Button9 = New System.Windows.Forms.Button

Me.SuspendLayout()

'

'Button3

'

Me.Button3.BackColor = System.Drawing.SystemColors.ActiveCaption

Me.Button3.ForeColor = System.Drawing.SystemColors.ActiveCaptionText

Me.Button3.Location = New System.Drawing.Point(416, 96)

Me.Button3.Name = "Button3"

Me.Button3.Size = New System.Drawing.Size(104, 56)

Me.Button3.TabIndex = 1

Me.Button3.Text = "Etoile"

'

'Button1

'

Me.Button1.BackColor = System.Drawing.Color.Blue

Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Popup

Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.Button1.ForeColor = System.Drawing.Color.White

Me.Button1.Location = New System.Drawing.Point(240, 72)

Me.Button1.Name = "Button1"

Me.Button1.Size = New System.Drawing.Size(106, 48)

Me.Button1.TabIndex = 0

Me.Button1.Text = "Next"

'

'Button2

'

Me.Button2.BackColor = System.Drawing.Color.FromArgb(CType(192, Byte), CType(64, Byte), CType(0, Byte))

Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Popup

Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 7.8!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))

Me.Button2.ForeColor = System.Drawing.SystemColors.ActiveCaptionText

Me.Button2.Location = New System.Drawing.Point(240, 8)

Me.Button2.Name = "Button2"

Me.Button2.Size = New System.Drawing.Size(104, 48)

Me.Button2.TabIndex = 2

Me.Button2.Text = "Back"

'

'Button4

'

Me.Button4.BackColor = System.Drawing.Color.Green

Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Popup

Me.Button4.Location = New System.Drawing.Point(32, 136)

Me.Button4.Name = "Button4"

Me.Button4.Size = New System.Drawing.Size(112, 56)

Me.Button4.TabIndex = 3

Me.Button4.Text = "Losange"

'

'Button5

'

Me.Button5.FlatStyle = System.Windows.Forms.FlatStyle.System

Me.Button5.Image = CType(resources.GetObject("Button5.Image"), System.Drawing.Image)

Me.Button5.Location = New System.Drawing.Point(264, 264)

Me.Button5.Name = "Button5"

Me.Button5.Size = New System.Drawing.Size(88, 40)

Me.Button5.TabIndex = 4

Me.Button5.Text = "Dessin"

'

'Button6

'

Me.Button6.BackColor = System.Drawing.Color.Purple

Me.Button6.ForeColor = System.Drawing.SystemColors.ActiveCaptionText

Me.Button6.Location = New System.Drawing.Point(240, 128)

Me.Button6.Name = "Button6"

Me.Button6.Size = New System.Drawing.Size(88, 48)

Me.Button6.TabIndex = 5

Me.Button6.Text = "Triangle"

'

'Button7

'

Me.Button7.BackColor = System.Drawing.Color.FromArgb(CType(192, Byte), CType(192, Byte), CType(255, Byte))

Me.Button7.Location = New System.Drawing.Point(440, 8)

Me.Button7.Name = "Button7"

Me.Button7.Size = New System.Drawing.Size(120, 64)

Me.Button7.TabIndex = 6

Me.Button7.Text = "Rectangle arrondis"

'

'Button8

'

Me.Button8.Location = New System.Drawing.Point(272, 338)

Me.Button8.Name = "Button8"

Me.Button8.TabIndex = 7

Me.Button8.Text = "Fermer"

'

'Button9

'

Me.Button9.Location = New System.Drawing.Point(272, 216)

Me.Button9.Name = "Button9"

Me.Button9.Size = New System.Drawing.Size(80, 24)

Me.Button9.TabIndex = 8

Me.Button9.Text = "Modif Form"

'

'Form1

'

Me.AutoScaleBaseSize = New System.Drawing.Size(6, 15)

Me.ClientSize = New System.Drawing.Size(608, 344)

Me.Controls.Add(Me.Button9)

Me.Controls.Add(Me.Button8)

Me.Controls.Add(Me.Button7)

Me.Controls.Add(Me.Button6)

Me.Controls.Add(Me.Button5)

Me.Controls.Add(Me.Button4)

Me.Controls.Add(Me.Button2)

Me.Controls.Add(Me.Button3)

Me.Controls.Add(Me.Button1)

Me.Name = "Form1"

Me.Text = "Modification de la forme des boutons au run time"

Me.ResumeLayout(False)

EndSub

#

EndRegion

PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load

' Defition des points du polygone

' modification de l'aspect de la form

 

Dim pts() As Point = { _

New Point(15, 15), _

New Point(45, 15), _

New Point(45, 5), _

New Point(75, 25), _

New Point(45, 45), _

New Point(45, 35), _

New Point(15, 35)}

' Création du GraphicsPath.

Dim polygon_path AsNew GraphicsPath(FillMode.Alternate)

polygon_path.AddPolygon(pts)

' Converti le GraphicsPath en une Region.

Dim polygon_region = New Region(polygon_path)

' Limite le bouton à la région.

Button1.Region = polygon_region

' Fait que le bouton remplit la région.

Button1.SetBounds(Button1.Location.X, Button1.Location.Y, pts(3).X + 5, pts(4).Y + 5)

 

 

'*****************

Dim pts2() As Point = { _

New Point(75, 15), _

New Point(45, 15), _

New Point(45, 5), _

New Point(15, 25), _

New Point(45, 45), _

New Point(45, 35), _

New Point(75, 35)}

' Création du GraphicsPath.

Dim polygon_path2 AsNew GraphicsPath(FillMode.Winding)

polygon_path2.AddPolygon(pts2)

' Converti le GraphicsPath en une Region.

Dim polygon_region2 = New Region(polygon_path2)

' Limite le bouton à la région..

Button2.Region = polygon_region2

' Fait que le bouton remplit la région.

Button2.SetBounds(Button2.Location.X, Button2.Location.Y, pts2(0).X + 15, pts2(5).Y + 15)

 

 

 

Dim pts1 As Point() = { _

New Point(75, 5), _

New Point(100, 50), _

New Point(150, 50), _

New Point(112, 75), _

New Point(150, 150), _

New Point(75, 100), _

New Point(0, 150), _

New Point(37, 75), _

New Point(0, 50), _

New Point(50, 50)}

 

Dim polygon_path1 AsNew GraphicsPath(FillMode.Winding)

polygon_path1.AddPolygon(pts1)

 

Dim polygon_region1 = New Region(polygon_path1)

Button3.Region = polygon_region1

Button3.SetBounds(Button3.Location.X, Button3.Location.Y, 150, 150)

Button3.BackColor = Color.BlueViolet

Dim pts4 As Point() = { _

New Point(30, 50), _

New Point(90, 10), _

New Point(150, 50), _

New Point(90, 90)}

Dim polygon_path4 AsNew GraphicsPath(FillMode.Winding)

polygon_path4.AddPolygon(pts4)

Dim polygon_region4 = New Region(polygon_path4)

Button4.Region = polygon_region4

Button4.SetBounds(Button4.Location.X, Button4.Location.Y, 180, 100)

 

Dim pts6 As Point() = { _

New Point(30, 70), _

New Point(90, 10), _

New Point(150, 70)}

Dim polygon_path6 AsNew GraphicsPath(FillMode.Winding)

polygon_path6.AddPolygon(pts6)

Dim polygon_region6 = New Region(polygon_path6)

Button6.Region = polygon_region6

Button6.SetBounds(Button6.Location.X, Button6.Location.Y, 180, 100)

 

EndSub

' Dessine des lignes à l'écran

PrivateSub Form1_Paint(ByVal sender AsObject, ByVal e As System.Windows.Forms.PaintEventArgs) HandlesMyBase.Paint

Dim white_pen AsNew Pen(Color.White)

Dim y AsLong

Dim wid AsLong = Me.ClientSize.Width

For y = 5 ToMe.ClientSize.Height Step 10

e.Graphics.DrawLine(white_pen, 0, y, wid, y)

Next y

EndSub

PrivateSub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim grfx As Graphics = CreateGraphics()

Dim path AsNew GraphicsPath

path.AddEllipse(40, 40, 140, 70)

' Utilise lee path pour construire un Path

Dim pthGrBrush AsNew PathGradientBrush(path)

' Peint le path en bleu

pthGrBrush.CenterColor = Color.FromArgb(255, 0, 0, 255)

Dim colors As Color() = {Color.FromArgb(255, 0, 255, 255)}

pthGrBrush.SurroundColors = colors

grfx.FillEllipse(pthGrBrush, 0, 0, 240, 120)

MsgBox(

"Click sur Next Dessine ellipse")

EndSub

PrivateSub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim grfx As Graphics = CreateGraphics()

Dim path AsNew GraphicsPath

Dim points As Point() = { _

New Point(75, 0), _

New Point(100, 50), _

New Point(150, 50), _

New Point(112, 75), _

New Point(150, 150), _

New Point(75, 100), _

New Point(0, 150), _

New Point(37, 75), _

New Point(0, 50), _

New Point(50, 50)}

' Utilise le tableau de points pour construire le Path

path.AddLines(points)

 

' Utilise le path pour construire une path gradient

Dim pthGrBrush AsNew PathGradientBrush(path)

' met la couleur rouge au centre

pthGrBrush.CenterColor = Color.FromArgb(255, 255, 0, 0)

' définit la couleur des points

Dim colors As Color() = { _

Color.FromArgb(255, 0, 0, 0), _

Color.FromArgb(255, 0, 255, 0), _

Color.FromArgb(255, 0, 0, 255), _

Color.FromArgb(255, 255, 255, 255), _

Color.FromArgb(255, 0, 0, 0), _

Color.FromArgb(255, 0, 255, 0), _

Color.FromArgb(255, 0, 0, 255), _

Color.FromArgb(255, 255, 255, 255), _

Color.FromArgb(255, 0, 0, 0), _

Color.FromArgb(255, 0, 255, 0)}

pthGrBrush.SurroundColors = colors

' remplit le path avec les couleurs gradient

grfx.FillPath(pthGrBrush, path)

MsgBox(

"Vous avez cliqué sur Etoile, dessine une étoile")

EndSub

 

 

PrivateSub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

MsgBox(

"Vous avez cliqué sur losange")

EndSub

PrivateSub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

' Crée un path et dessine une ellipse.

Dim mybrush As Brushes

Dim drawBrush AsNew SolidBrush(Color.PaleGreen)

Dim grfx As Graphics = CreateGraphics()

Dim myEllipse AsNew RectangleF(20, 20, 150, 100)

Dim myPath AsNew GraphicsPath

grfx.FillRectangle(drawBrush, myEllipse)

myPath.AddEllipse(myEllipse)

myPath.AddRectangle(Rectangle.Round(myEllipse))

myPath.FillMode = FillMode.Alternate

' Dessine le path a l'écran.

Dim myPen AsNew Pen(Color.Yellow, 16)

Dim myPen1 AsNew Pen(Color.Green, 10)

grfx.DrawPath(myPen, myPath)

grfx.DrawPath(myPen1, myPath)

Dim myPen2 AsNew Pen(Color.Blue, 6)

grfx.DrawPath(myPen2, myPath)

Dim myPen3 AsNew Pen(Color.Red, 2)

Dim stringText AsString = "Exemple"

Dim family AsNew FontFamily("Arial")

Dim myfontStyle AsInteger = CInt(FontStyle.Italic)

Dim emSize AsInteger = 32

Dim origin AsNew Point(24, 50)

Dim format As StringFormat = StringFormat.GenericDefault

' Ajoute le texte au nPath

myPath.AddString(stringText, family, myfontStyle, emSize, origin, format)

grfx.DrawPath(myPen3, myPath)

EndSub

 

 

PrivateSub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

MsgBox(

"Click sur Back")

EndSub

 

PrivateSub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click

Dim x AsInteger = Button7.Size.Height

Dim y AsInteger = Button7.Size.Width

' pseudo coins arrondis

Dim pts() As Point = { _

New Point(y, x - 5), _

New Point(y - 5, x), _

New Point(5, x), _

New Point(0, x - 5), _

New Point(0, 5), _

New Point(5, 0), _

New Point(y - 5, 0), _

New Point(y, 5)}

 

 

 

' Création GraphicsPath.

Dim polygon_path AsNew GraphicsPath(FillMode.Alternate)

polygon_path.AddPolygon(pts)

' Convertit le Path en région

Dim polygon_region = New Region(polygon_path)

'Limite le path à la région

Button7.Region = polygon_region

' Le bouton remplit la région

Button7.SetBounds(Button7.Location.X, Button7.Location.Y, y, x)

MsgBox(

"Vous avez arrondi les angles du bouton. La taille du bouton reste inchangée")

EndSub

PrivateSub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

MsgBox(

"Vous avez cliqué sur triangle")

EndSub

PrivateSub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Me.Close()

EndSub

PrivateSub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

Dim ptsF As Point() = { _

New Point(0, 0), _

New Point(640, 0), _

New Point(640, 240), _

New Point(320, 480), _

New Point(0, 240) _

}

Dim polygon_pathF AsNew GraphicsPath(FillMode.Winding)

polygon_pathF.AddPolygon(ptsF)

Dim polygon_regionf = New Region(polygon_pathF)

Me.Region = polygon_regionf

SetBounds(

Me.Location.X, Me.Location.Y, 640, 480)

EndSub

End

Class


Cette discussion est classée dans : couleur, bordure, angles, groupbox


Répondre à ce message

Sujets en rapport avec ce message

Impression d'un textbox avec tous les paramètres et une bordure [ par miko500 ] Salut, Je suis en train de faire un programme pour imprimer des étiquettes pour VHS, avec la couleur de police, la couleur de fond, la police....Mais IMPRESSION D4UN TEXTBOX AVEC BORDURE [ par miko500 ] Salut, Je suis en train de faire un programme pour imprimer des étiquettes pour VHS, avec la couleur de police, la couleur de fond, la police....Mais Changement de la couleur d'une bordure pour un textbox [ par ABL-Online ] Bonjour, je me demandais, si il était possible de changer la couleur de la bordure d'un textbox quand on le met en mode FLAT et non 3D, enfait, je rec bordures conditionnelles sous excel 2003 [ par choupettes ] Bonjour, j'ai trouvé beaucoup de codes pour les mises en formes conditionnelles (>3 je suis sous excel 2003) pour les couleurs mais rien sur les bordu Changer couleur bordure d'une form [ par fdiedler2000 ] Bonjour,J'utilise une WinForm qui a le look XP (la bordure en bleue) et je voudrais changer la couleur de cette bordure par exemple la mettre en verte Couleur sélection textbox [ par mJuJu ] Bonjour à tous.je voudrais savoir s'il existe un moyen de changer la couleur de sélection d'une Richtextbox? J'aimerais éviter cet horrible cadre noir Équivalent de getpixel pour directx [ par Razor_rws1 ] Salut, ça fais plusieurs fois que je poses la question mais toujours sans succès. J'aimerais simplement savoir comment connaitre la couleur d'un pixel Changer la couleur d'un bouton lorsu'on clique dessus. [ par arnaud95000 ] Bonjour, je cherche un truc tout bête a faire mais j'ai du mal à trouver la réponse. En fait j'ai fait des boutons qui renvoent à différentes macros c Changement de couleur d'une case dans excel [ par charly2812 ] Bonjour,j'espère être dans la bonne section, même si ma question ne concerne pas VB.En effet, j'aimerais qu'en fonction du jour de la semaine, certain Test sur la couleur d'une cellule excel [ par Drake59730 ] Bonjour a tous!Voila, j'ai besoin pour un projet de contoler les cellules d'un calendrier excel  via VB6. Le soucis majeur (mis a part le fait que je


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales