AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi [Non-VCL] TabControl - Wie geht's weiter?
Thema durchsuchen
Ansicht
Themen-Optionen

[Non-VCL] TabControl - Wie geht's weiter?

Ein Thema von Daniel G · begonnen am 2. Jul 2005 · letzter Beitrag vom 4. Jul 2005
 
Olli
(Gast)

n/a Beiträge
 
#5

Re: [Non-VCL] TabControl - Wie geht's weiter?

  Alt 3. Jul 2005, 10:07
Die erste fundamentale Erkenntnis vorneweg: Tab controls enthalten keine Childs!!! Nie! <- immer im Hinterköpfchen behalten.

Zitat von Daniel G:
Wunderschönen Guten Abend alle zusammen,

eigentlich wollte ich ja keinen Thread aufmachen, aber im Moment komme ich einfach nicht weiter.

Also, folgendes Problem:

Soweit bin ich bis jetzt gekommen:
Der Quelltext hilft erstmal primär nicht weiter, außer bei einer Erkenntnis: du erstellst garkeine Controls ... aber weiter im Text. Die Begründung kommt nämlich noch.

Zitat von Daniel G:
Was ich vorhabe:

Ich möchte in NonVcl TabControls verwenden, die sich so verhalten wie TPageControl und TTabsheet.
Ganz so komfortabel wird das leider nicht gehen

Zitat von Daniel G:
Tja, jetzt habe ich da meine wunderschönen Tabs auf meinem Formular. Aber wie bekomme ich denn jetzt meine Controls dazu, auf die Tabs zu reagieren. Ich habe mir ein paar Beispiele in C angesehen, aber irgendwie blicke ich da nicht wirklich durch. Und weder Google noch die DP noch das DF konnten mir helfen. (Zumindestens nicht mit "TTCITEM").
Es gibt sogar Delphi-Source dazu (nämlich von mir). Habe es ehrlich gesagt auch nirgends gefunden. Aber frecherweise ist der Source einmal relativ versteckt und einmal nur in meinem EDA zu finden. Was du willst, machst du in WM_NOTIFY:
Delphi-Quellcode:
    WM_NOTIFY:
      begin
        hdr := PNMHDR(lParam);
        case hdr^.code of
          TCN_SELCHANGE: begin
              OnSelChange(hdr^.hwndFrom);
            end;
        end;
      end;
Jetzt fragst du dich sicher, wie du an OnSelChange() kommst?! Guckst du hier:
http://assarbad.net.local/stuff/!export/ancient/useless_oldstuff.rar

Enthalten ist u.a. eine PropSht.zip - die ist was du suchst.

Zitat von Daniel G:
Wie kann ich also soetwas wie die einzelnen Seiten bei TPageControl hinbekommen und wie plazieren ich dann meine Controls darauf?

(Wie ich generell Controls erstelle, weiß ich schon, so is' das ja nicht...)
Hehe, garnicht so trivial. Die Doku (PSDK) zu lesen, hätte dich allerdings weitergebracht (wenn auch nicht bis zum Ende, denn dazu habe ich damals auch lange experimentiert). Das Experimentieren kann ich dir wohl ersparen.

Bei weiteren Fragen einfach bescheidsagen!!

Zitat von ste_ett:
Du willst deine Controls auf die Seiten verteilen?

Delphi-Quellcode:
TPageControl erstellen
Control (z.B. Button) erstellen

Button1.parent := TabSheet2;
Aua! Lesen -> Verstehen. Was könnte Non-VCL (siehe Titel) wohl bedeuten?

Zitat von MrKnogge:
Was genau meinst du mit 'reagieren', meinst du das sie verschwinden, wenn du die Seiten wechselest ?
(das müsste doch von aleine gehen, wenn die Controls auf den Tabs liegen )
Tabs haben weder Controls noch haben sie sonstwas anderes!!! Tabs haben Reiter und einen Clientbereich. Das war's. Tab controls sind keine Page controls!!! Letztere "besitzen" die angezeigten Elemente.

Zitat von MathiasSimmack:
Und mir fällt gerade auf, dass es in den Win32-API-Tutorials kein Kapitel darüber gibt. Luckie?
Rate mal wieso ... ist nicht sooo trivial. Habe letztens wieder eine ganze Weile dran gesessen um das in MFC zum Laufen zu kriegen (da ist es etwas anders).

Ach ja ... natürlich kann man auch einzelne Controls statt Child-Dialogen in den Tabs anzeigen ... nur irgendwie ist das leichter Overkill.


@Fragesteller: Hätte da noch eine Variante wie man es noch ein wenig eleganter lösen kann. Allerdings muß ich es für Delphi noch eintippen - wann kommt bloß endlich mein direktes Delphi-Hirn-Interface. Hatte ich doch schon vor 5 Jahren bestellt
  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 01:38 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