AGB  ·  Datenschutz  ·  Impressum  







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

TabSheet unter der Maus

Ein Thema von SebE · begonnen am 27. Dez 2004 · letzter Beitrag vom 28. Dez 2004
Antwort Antwort
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#1

TabSheet unter der Maus

  Alt 27. Dez 2004, 19:10
Wie finde ich raus, auf welches TabSheet ich in einem PageControl geklickt habe?
Ich will ein PopUp einbauen, indem z.B. steht: "Tab schließen".
Nun wird das aktuelle Tab geschlossen, welches aber nicht das ist, was unter der Maus sitzt.

Oder geht das, dass wenn ich mit der rechten Maustaste auf die Tabs klicke, dass dann das darunterliegende Tab als Aktuelles aufgerufen wird?

Kann jmd helfen?

-> Danke
Sebastian
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: TabSheet unter der Maus

  Alt 27. Dez 2004, 22:09
hi!

du kannst das mit TabIndex machen.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text:= IntToStr(PageControl1.TabIndex);
end;
so kannst du in Edit1 ausgeben welche Tabnummer (beginnend bei 0) gerade ausgewählt ist.

um beim auswählen eines TabSheets ein anderes anzuzeigen, könntest du folgendes verwenden:
Delphi-Quellcode:
procedure TForm1.PageControl1Change(Sender: TObject);
begin
  if PageControl1.TabIndex= 0 then
    PageControl1.TabIndex:= 1;
end;
dann wird, wenn du das erste TabSheet auswählst, das zweite angezeigt.

ich hoffe ich konnte dir damit ein bisschen weiterhelfen.
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#3

Re: TabSheet unter der Maus

  Alt 27. Dez 2004, 22:13
Em, naja.

Ich wollte eigentlich wissn, wie ich raus bekomme welcher TabSheetIndex unter der Aktuellen MausPosition ist.
Da sich bei Rechtsklick der Index nicht ändert.
Sebastian
  Mit Zitat antworten Zitat
Gentleman

Registriert seit: 29. Sep 2004
302 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: TabSheet unter der Maus

  Alt 27. Dez 2004, 23:02
ach so meist du das.

hm...da fällt mir spontan nur ein, dass man da vielleicht ein so etwas wie ein Raster verwenden kann, das ist nicht gerade die besste Lösung, aber na ja.
das würde ich dann in etwa so machen:
Delphi-Quellcode:
procedure TForm1.PageControl1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
  if X> 70 then
    begin
      PageControl1.TabIndex:= 1;
    end
  else
    begin
      PageControl1.TabIndex:= 0;
    end;
das musst du dann für deine zwecke umschreiben. ich hab jetzt angenommen, dass das TabSheet (wo man drauf klickt) 70 breit ist und der PageControl zwei sheets Sheets hat.
Lennard
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger. (Kurt Tucholsky)
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#5

Re: TabSheet unter der Maus

  Alt 28. Dez 2004, 08:02
Hallo,
hier findest Du die Lösung für Dein Problem
I come from outer space to save the human race
  Mit Zitat antworten Zitat
SebE

Registriert seit: 31. Jul 2004
Ort: Chemnitz
316 Beiträge
 
Delphi 7 Personal
 
#6

Re: TabSheet unter der Maus

  Alt 28. Dez 2004, 10:05
Erstma en fettes Dankeschön an alle.
Hab's so gemacht:

Code:
procedure TfmMain.PageControlContextPopup(Sender: TObject; MousePos: TPoint; var Handled: Boolean);
var
  TabSheet : TTabSheet;
begin
TabSheet:=GetTabSheet(PageControl,MousePos);

if TabSheet<>nil
then PageControl.ActivePage:=TabSheet // Nur <> Nil wenn im TabRect geklickt wurde !!!
end;
Genau so wollt ich es haben - Danke Jens Schumann
Sebastian
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz