| |
VB.NET - Ein- und UmsteigerSchliesen-Button bei TabPage | | | Autor: T1g0r | Datum: 14.08.08 16:57 |
| Hallo miteinander,
Wie bekomme ich einen Schliesen-Button, wie wir ihn aus dem Internet Explorer oder aus Firefox kennen auf meine TabPages?
MfG T1g0r
wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passw?rten
wintoolz.Filmdatenbank - Verwaltungssoftware f?r Filme
wintoolz.CodeGallery - Programm zum speichern von Codeschnipseln | |
Re: Schliesen-Button bei TabPage | | | Autor: FlyingEagleLW | Datum: 14.08.08 18:21 |
| denke das du dafür die tabreiter mittels ownerdraw selber zeichnen musst.
ist nicht extrem aufwendig, weiß jetzt nicht ob es sowas hier im vbarchiv gibt, aber bei codeproject hab sowas mal gesehen. | |
Re: Schliesen-Button bei TabPage | | | Autor: GPM | Datum: 14.08.08 19:13 |
| Ein einfacher Versuch mit DrawItem:
Public Class Form1
Dim rec As Rectangle
Private WithEvents TC As New TabControl
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
Me.SetBounds(100, 100, 500, 300)
TC.SetBounds(10, 10, 400, 200)
TC.DrawMode = TabDrawMode.OwnerDrawFixed
For i As Int32 = 0 To 4
Dim TP As New TabPage
TP.Text = "Page" & i.ToString.PadRight(8)
TC.Controls.Add(TP)
Next
Me.Controls.Add(TC)
End Sub
Private Sub Tc_DrawItem(ByVal sender As Object, ByVal e As _
System.Windows.Forms.DrawItemEventArgs) Handles TC.DrawItem
rec = New Rectangle(e.Bounds.Left + e.Bounds.Width - 18, e.Bounds.Top + _
2, 16, 16)
e.Graphics.DrawString(TC.TabPages(e.Index).Text, Font, Brushes.Black, 2 _
+ e.Bounds.Left, 4)
ControlPaint.DrawCaptionButton(e.Graphics, rec, CaptionButton.Close, _
ButtonState.Normal)
End Sub
Private Sub Tc_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles TC.MouseDown
If rec.Contains(e.Location) Then
TC.TabPages.RemoveAt(TC.SelectedIndex)
End If
End Sub
End Class MfG GPM 0 | |
Re: Schliesen-Button bei TabPage | | | Autor: T1g0r | Datum: 14.08.08 19:44 |
| Danke Funktioniert genau wie ich es brauche.
Ist es möglich den Button auf einer bestimmten (der ersten) TabPage nicht anzuzeigen?
wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passw?rten
wintoolz.Filmdatenbank - Verwaltungssoftware f?r Filme
wintoolz.CodeGallery - Programm zum speichern von Codeschnipseln | |
Re: Schliesen-Button bei TabPage | | | Autor: GPM | Datum: 14.08.08 20:22 |
| Dann halt erst ab Index >0 zeichnen/entfernen
Private Sub Tc_DrawItem(ByVal sender As Object, ByVal e As _
System.Windows.Forms.DrawItemEventArgs) Handles TC.DrawItem
rec = New Rectangle(e.Bounds.Left + e.Bounds.Width - 18, e.Bounds.Top + _
2, 16, 16)
e.Graphics.DrawString(TC.TabPages(e.Index).Text, Font, Brushes.Black, 2 _
+ e.Bounds.Left, 4)
If e.Index > 0 Then
ControlPaint.DrawCaptionButton(e.Graphics, rec, _
CaptionButton.Close, ButtonState.Normal)
End If
End Sub
Private Sub Tc_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles TC.MouseDown
If rec.Contains(e.Location) AndAlso TC.SelectedIndex > 0 Then
TC.TabPages.RemoveAt(TC.SelectedIndex)
End If
End Sub MfG GPM 0 | |
Re: Schliesen-Button bei TabPage | | | Autor: T1g0r | Datum: 14.08.08 20:34 |
| Perfekt.
Danke für die schnelle Hilfe.
wintoolz.KeyLocker - Programm zum sicheren Verwalten von Passw?rten
wintoolz.Filmdatenbank - Verwaltungssoftware f?r Filme
wintoolz.CodeGallery - Programm zum speichern von Codeschnipseln | |
Re: Schliesen-Button bei TabPage | | | Autor: FlyingEagleLW | Datum: 15.08.08 11:09 |
| @GPM
jetzt hab ich aber mal ne frage dazu, ich hab mich damit auch mal ein wenig beschäftigt, es aber noch nicht hinbekommen, dass die Reiter des TC am ende genauso aussehen wie sie aussehen würden, wenn man kein ownerdraw verwenden würde. so mit dem xp-style und so ...
gibts dafür auch ansätze? ich mein bei ownerdraw sehen die tabs aus wie aus den guten alten win95er zeiten | |
Re: Schliesen-Button bei TabPage | | | Autor: GPM | Datum: 15.08.08 12:40 |
| Eine kleine Änderung. Zwar kein XP-Style aber etwas bunter.
Private Sub Tc_DrawItem(ByVal sender As Object, ByVal e As _
System.Windows.Forms.DrawItemEventArgs) Handles TC.DrawItem
e.Graphics.FillRectangle(Brushes.Aqua, e.Bounds)
rec = New Rectangle(e.Bounds.Left + e.Bounds.Width - 16, e.Bounds.Top + _
3, 14, 14)
e.Graphics.DrawString(TC.TabPages(e.Index).Text, Font, Brushes.Black, 2 _
+ e.Bounds.Left, 4)
If e.Index > 0 Then e.Graphics.DrawImage(SystemIcons.Error.ToBitmap, rec)
End Sub MfG GPM 0 | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|