AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TabControl und Events

Ein Thema von EWeiss · begonnen am 9. Jul 2018 · letzter Beitrag vom 10. Jul 2018
 
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: TabControl und Events

  Alt 9. Jul 2018, 10:45
Zitat:
Billige Lösung: Nur die Tabs anzeigen, welche sichtbar sind / sein sollen und die Anderen auf Invisible.
Das scrollen sollte schon verfügbar sein denn man hat nicht immer genug platz um das Tab entsprechend zu vergrößern.
Das hinzufügen dynamischer Tabs ist nur ein Test denn das muss ja auch funktionieren.

Hmmm... mal schaun.

So wird das Tab und der Button darauf erstellt.
Das aussehen der Button vom TabSheet ist dann abhängig davon wie das BTN_Push.png aussieht das kann alle erdenkliche formen haben.
Delphi-Quellcode:
  TabInfo := CTRL_TabCreate;
  TabInfo.ImagePath := SKAERO_FOLDER + 'BTN_Push.png';
  TabInfo.Left := 230;
  TabInfo.Top := 268;
  TabInfo.Width := 300;
  TabInfo.Height := 250;
  TabInfo.DlgItemID := ID_TAB;
  TabInfo.ImageStateMax := 0;
  TabInfo.TabImagePath := SKAERO_FOLDER + 'TabFrame.png';
  TabInfo.CreateWindow(hMain);
  SKAERO_SetAnchorMode(TabInfo.Handle, ANCHOR_HEIGHT_WIDTH);
  SKAERO_SetZorder(TabInfo.Handle, HWND_TOP);

  TabInfo.InsertItem(TabInfo.Handle, 0, 'Hello World');
  TabInfo.SetCurSel(TabInfo.Handle, 0);
  TabHandle := TabInfo.AddTab(TabInfo.Handle, 0);

  btnTab0 := CTRL_PushButtonCreate;
  btnTab0.ImagePath := SKAERO_FOLDER + 'BTN_Push.png';
  btnTab0.Text := 'Button on Tab Hello World';
  btnTab0.Left := 20;
  btnTab0.Top := 20;
  btnTab0.Width := 180;
  btnTab0.Height := 75;
  btnTab0.DlgItemID := ID_BTN_TAB0;
  btnTab0.TextCol := SKAERO_BTNTEXTCOLOR;
  btnTab0.Label3D := 1;
  btnTab0.TextAlligment := Center;
  btnTab0.ImageStateMax := 0;
  btnTab0.CreateWindow(TabHandle);
  SKAERO_SetAnchorMode(btnTab0.Handle, ANCHOR_BOTTOM_RIGHT);
  SKAERO_SetZorder(btnTab0.Handle, HWND_TOP);
und so dynamisch erstellt.
Delphi-Quellcode:
ID_BTN_ADDTAB:
  begin
    ItemCount := TabInfo.GetItemCount(TabInfo.Handle);
    TabInfo.InsertItem(TabInfo.Handle, ItemCount + 1,
      PWideChar('Tab ' + IntToStr(ItemCount)));

    TabHandle := TabInfo.AddTab(TabInfo.Handle, ItemCount);
    AddCtrlToTab(TabHandle, ItemCount);

    SKAERO_UpdateWindow(WinHandle, False);
  end;
So kann man jetzt xbeliebige Controls im Tab erstellen.
Hier nur die ersten 2 die anderen bleiben leer.
Einmal einen Button und einmal eine Tackbar
Delphi-Quellcode:
procedure AddCtrlToTab(TabHandle: Integer; Item: Integer);
var
  myTip: PWideChar;
begin

  case Item of
    1:
      begin
        btnTab1 := CTRL_PushButtonCreate;
        btnTab1.ImagePath := SKAERO_FOLDER + 'BTN_Push.png';
        btnTab1.Text := 'Button on Tab 1';
        btnTab1.Left := 20;
        btnTab1.Top := 40;
        btnTab1.Width := 120;
        btnTab1.Height := 75;
        btnTab1.DlgItemID := ID_BTN_TAB1;
        btnTab1.TextCol := SKAERO_BTNTEXTCOLOR;
        btnTab1.Label3D := 1;
        btnTab1.ImageStateMax := 0;
        btnTab1.CreateWindow(TabHandle);
        SKAERO_SetAnchorMode(btnTab1.Handle, ANCHOR_BOTTOM_RIGHT);
        SKAERO_SetZorder(btnTab1.Handle, HWND_TOP);
      end;
    2:
      begin
        SKAERO_SplitColorARGB(SKAERO_AEROCOLOR, Alpha, Red, Green, Blue);
        trbTab := CTRL_TrackBarCreate;
        trbTab.ImageThumbPath := SKAERO_FOLDER + 'BTN_Track_H.png';
        trbTab.Left := 38;
        trbTab.Top := 40;
        trbTab.Width := 142;
        trbTab.Height := 14;
        trbTab.DlgItemID := ID_TRACK_TAB;
        trbTab.MinVal := 0;
        trbTab.MaxVal := 255;
        trbTab.Val := Alpha;
        trbTab.LineVisible := true;
        trbTab.TrackColor := SKAERO_TRACKHICOLOR;
        trbTab.ProgressColor := SKAERO_TRACKPROGRESSCOLOR;
        trbTab.ParentWindow := MainHandle;
        trbTab.CreateWindow(TabHandle);
        SKAERO_SetAnchorMode(trbTab.Handle, ANCHOR_BOTTOM);
        SKAERO_SetZorder(trbTab.Handle, HWND_TOP);
        myTip := 'Only Test';
        CTRL_ToolTipCreate(trbTab.Handle, myTip);
      end;
  end;
end;
gruss

Geändert von EWeiss ( 9. Jul 2018 um 11:37 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz