Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C++CLI / VB .Net / .Net-Framework » [VC++] Custom TabControl?

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.07.2006, 10:19 Uhr
der Leitman



Hallo zusammen!

Ich habe folgendes Problem:
Ich schreibe eine VC++ Anwendung (in MSVS 2005 Pro Ed), in der ich ein TabControl verwendet, das standartmäßig 4 Tab Pages verwendet. Der User hat die Möglichkeit, einzelne Pages durch Buttons hinzuzufügen bzw. wieder zu löschen!

Da mein Programm auf einem Rechner mit einer Auflösung von 1600 x 1200 Pixel läuft, sieht es blöd aus, wenn die TabPages nur auf der linken Seite kleben, also habe ich versucht, sie mit dem Property "FillToRight" auf die Fenstergröße anzupassen. Dies funktioniert jedoch nur, sobald eine 2. Reihe TabPages erstellt wird.

Aus diesem Grund möchte / muss ich nun ein eigenes Control erstellen, das die Tab Page Größe (oder eigentlich nur die Länge der TabPage-"Header") auf die Größe des Fensters anpasst.

Ich habe bereits schon einige CustomControls erstellt, jedoch habe ich trotzdem Probleme: Mir ist bewußt, dass ich mein Control von der TabControll Klasse ableiten muss, aber das wars auch schon, ich habe keine Ahnung, wie (und überhaupt ob) ich die Eigenschaft SizeMode überschreiben muss, damit es standartmäßig alle Pages aufteilt...

Bitte kann mir jemand helfen,
ich habe bereits danachgegoogelt und auf Codeproject nachgesehen, (die MSDN war mir dieses mal sowieso komplett nutzlos =( ) aber nirgends etwas gefunden, das mir weiterhilft,

Vielen Dank im Vorraus,

mfG
der LEITMAN
--
Das Leben ist ein Scheiß-Spiel...
aber die Grafik ist saugeil!!!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.07.2006, 17:33 Uhr
Uwe
C/C++ Master
(Administrator)


Hallo,
der Thread ist schon ein paar Tage alt, aber... (Urlaub)

Das kannst Du z.B. über den Abstand der TabPages zueinander regeln.
Weiterhin bestimmt die Textlänge die Größe der Header.
Bsp.

C++:
private void Form1_Load(object sender, System.EventArgs e)
{
    Size = new Size(300, 300);
    tabControl1 = new TabControl();
    tabControl1.Resize += new System.EventHandler(tabControl1_Resize);
    tabPage1 = new TabPage();
    tabPage2 = new TabPage();
    tabControl1.Controls.AddRange(new Control[] {tabPage1, tabPage2});
    tabControl1.Location = new Point(35, 25);
    tabControl1.Dock=DockStyle.Fill;
    tabControl1.Padding = new System.Drawing.Point(6,3);
    Controls.AddRange(new Control[] {this.tabControl1});
}

private void tabControl1_Resize(object sender, System.EventArgs e)
{
    if(this.WindowState == FormWindowState.Normal) // nur als Bsp.
    {
        tabControl1.Padding = new System.Drawing.Point(6,3); // default
        tabPage1.Text = "Page1";
        tabPage2.Text = "Page2";
    }
    else
    {
        tabControl1.Padding = new System.Drawing.Point(55,12);
        tabPage1.Text = "JetztWirdDieSacheÜberMehrTextGeregelt";
        tabPage2.Text = ""; // hier über das Padding Property
    }
}



Bearbeitung:

Hab jetzt erst gesehen, das VC++ angesagt ist . Sollte aber mit kleinen Änderungen auch funzen. Etwa so...



C++:
private: System::Void tabControl1_Resize(System::Object *  sender, System::EventArgs *  e)
{
        if(this->WindowState == FormWindowState::Normal)
        {
            tabControl1->Padding = Point(6,3);
            tabPage1->Text = "Page1";
            tabPage2->Text = "Page2";
        }
        else
        {
            tabControl1->Padding = Point(55,12);
            tabPage1->Text = "JetztWirdDieSacheÜberMehrTextGeregelt";
            tabPage2->Text = "";
        }
}



--
"Es ist schwierig, ein Programm wirklich idiotensicher zu machen, weil Idioten so genial sind."

Bis dann...
Uwe

Dieser Post wurde am 29.07.2006 um 18:08 Uhr von Uwe editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C++CLI / VB .Net / .Net-Framework ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: