HDSoftware Skrevet 17. oktober 2006 Skrevet 17. oktober 2006 Hei igjen Er det absolutt ikke mulig å designe en FORM med firkanter, sirkler og streker lenger? Vet at jeg kan tegne runtime, men skulle gjerne designet i FORM editoren. Hvis ikke, hva er årsaken til at alt dette er borte? Først forsvinner transpent på labels og nå grafikk?!?!? Hva skjer? Er dette fordi det skal være WEB kompatibelt på en eller annen måte? Ole
GeirGrusom Skrevet 18. oktober 2006 Skrevet 18. oktober 2006 Like greit, det er veldig enkelt å tegne ting runtime, grafikk objektene var helt ubrukelige spør du meg Men du kan legge til dette selv med UserControls, det er fort gjort. Det er nok gjort sånn fordi det grafikk objektene i VB6 ikke er systemobjekter, men noe som er unikt fior Visual Basic. Dessuten, hvis du bruker Overrides OnPaint, eller Paint event, kan du tegne hva du vil, og grafikk biblioteket er veldig forseggjort (meste av GDI+ er implementert, bortsett fra effect tror jeg)
HDSoftware Skrevet 18. oktober 2006 Forfatter Skrevet 18. oktober 2006 Like greit, det er veldig enkelt å tegne ting runtime, grafikk objektene var helt ubrukelige spør du meg Men du kan legge til dette selv med UserControls, det er fort gjort. Det er nok gjort sånn fordi det grafikk objektene i VB6 ikke er systemobjekter, men noe som er unikt fior Visual Basic. Dessuten, hvis du bruker Overrides OnPaint, eller Paint event, kan du tegne hva du vil, og grafikk biblioteket er veldig forseggjort (meste av GDI+ er implementert, bortsett fra effect tror jeg) 7094115[/snapback] Høres bra ut. Skel sjekke opp dette. Grunnen til at jeg bruker disse er fordi jeg da kan lage et litt "penere" grensesnitten det trauste standardgreie som er i Windows. Visuellt er det mye penere å legge entry kontroller på en firkan med avrundede hjørner og som muligens har en flike på oversiden med informativ tekst. Kan sammenlignes med en GROUPbox kontroll, men ser mye freskere ut. Enkel å bygge opp er den også. To fylte bokser og to fyllte sirkler og vips så er den på plass. Nå er jo alternativet å tegne den i Photoshop og plassere på skjerm. Men hvis det du sier er enkelt så er jo det like greit. hmm.... UserControls sier du......den må jeg sjekke... Ole
Moskus Skrevet 18. oktober 2006 Skrevet 18. oktober 2006 Hvis du trenger en simpel strek, kan man bruke et Panel for så å sette bredden/høyden til 1. Mye juks, men det er mulig å gjøre...
HDSoftware Skrevet 18. oktober 2006 Forfatter Skrevet 18. oktober 2006 Hvis du trenger en simpel strek, kan man bruke et Panel for så å sette bredden/høyden til 1. Mye juks, men det er mulig å gjøre... 7095381[/snapback] Greit nok, men den vil kunn være horisontal og diagonal, men joda. Det blir en strek av det. Jeg var mere ute etter avrundede hjørner etc. Ole
Moskus Skrevet 18. oktober 2006 Skrevet 18. oktober 2006 Da er nok det eneste alternativet UserControls som nevnt (eller bilder, om man vil)....
GeirGrusom Skrevet 18. oktober 2006 Skrevet 18. oktober 2006 Her har du litt grafikk for en groupbox, lan en ny Class, og fyll inn dette istedet, og compile. Imports System.Drawing Public Class AwsomeGroupBox Inherits System.Windows.Forms.ContainerControl Protected m_text As String Protected m_path As System.Drawing.Drawing2D.GraphicsPath Protected m_caption As System.Drawing.Drawing2D.GraphicsPath Protected m_caption_size As SizeF Protected m_brush As System.Drawing.Brush Protected m_pen As Pen Protected Overrides Sub OnResize(ByVal e As System.EventArgs) m_path = New System.Drawing.Drawing2D.GraphicsPath() m_path.AddLine(m_caption_size.Width + 48, 9, Me.Size.Width - 20, 9) m_path.AddArc(Me.Size.Width - 20, 9, 18, 18, -90, 90) ' Legg til alle fire hjørnene, de vil bli koplet med en linje. m_path.AddArc(Me.Size.Width - 20, Me.Size.Height - 20, 18, 18, -0, 90) m_path.AddArc(2, Me.Size.Height - 20, 18, 18, 90, 90) m_path.AddArc(2, 9, 18, 18, 180, 90) m_caption = New System.Drawing.Drawing2D.GraphicsPath() m_caption.AddArc(12, 2, 18, 18, 90, 180) m_caption.AddArc(m_caption_size.Width + 30, 2, 18, 18, -90, 180) m_caption.CloseFigure() If Not m_caption_size = SizeF.Empty Then m_brush = New System.Drawing.Drawing2D.LinearGradientBrush(New Rectangle(0, 2, m_caption_size.Width, 18), Color.AliceBlue, Color.GreenYellow, Drawing2D.LinearGradientMode.Vertical) End If m_pen = New Pen(New System.Drawing.Drawing2D.LinearGradientBrush(New Rectangle(0, 0, Me.Size.Width, Me.Size.Height), Color.SlateGray, Color.Black, Drawing2D.LinearGradientMode.Vertical), 2.7F) End Sub <System.ComponentModel.Browsable(True)> Public Overrides Property Text() As String Get Return m_text End Get Set(ByVal value As String) m_text = value m_caption_size = CreateGraphics().MeasureString(value, MyBase.Font, 0) Invalidate() OnResize(Nothing) End Set End Property Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs) e.Graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias e.Graphics.DrawPath(m_pen, m_path) If (m_brush Is Nothing) Then Else e.Graphics.FillPath(m_brush, m_caption) End If e.Graphics.FillPath(m_brush, m_caption) e.Graphics.DrawPath(m_pen, m_caption) e.Graphics.DrawString(m_text, MyBase.Font, SystemBrushes.ControlText, 18, 4) End Sub End Class og du vil få en ekstra usercontrol.
HDSoftware Skrevet 19. oktober 2006 Forfatter Skrevet 19. oktober 2006 Her har du litt grafikk for en groupbox, lan en ny Class, og fyll inn dette istedet, og compile.... og du vil få en ekstra usercontrol. 7098268[/snapback] DAMN!!!! Fikk noen feilmeldinger etc. Men fikset det enkelt!! STEIKE! Dette er GROMME greier!! At man kan dra en "user control" ut på skjermen og se kontrollen Designtime er jo bare sinnsykt bra!! Dette kaller RAD! Ole
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå