AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Vorschau auf tabsheet das nicht aktiv ist, ohne Show
Thema durchsuchen
Ansicht
Themen-Optionen

Vorschau auf tabsheet das nicht aktiv ist, ohne Show

Offene Frage von "Softchaos67"
Ein Thema von Softchaos67 · begonnen am 6. Feb 2006 · letzter Beitrag vom 7. Feb 2006
Antwort Antwort
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#1

Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 10:11
Hallo NG,
ich würde gerne den Inhalt eines Tabsheets bei Rechtsklick auf seinen Reiter irgendwie
anzeigen, ohne die Change oder Showmethode des Pagecontrols oder Tabsheets auszulösen (peek).
Gibts da eine mir noch nicht bekannte möglichkeit?
Danke für Ideen
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 10:34
Hallo Matthias,

das klingt stark nach "wasch mich aber mach mich nicht nass". Kannst du das näher erläutern?

Grüße vom marabu
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 10:37
Ja, genau.
Bei der Showmethode werden viele Daten geladen, was lange dauern kann.
jetzt wäre es von vorteil wenn mann noch mal was nachschauen könnte, ohne die Showmethode auszulösen. Ein peek eben.
Mehr kann ich nicht beschreiben.
Ich denke für eine Antwort sollte das auch genügen.
Nochwas: beim aktivieren SOLLEN die Daten aktualisiert werden, ein Merker ob die Daten bereits geladen wurden nutzt also nichts.
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 10:45
So kannst du feststellen, über welchem Tab die Maus sich befindet:

Delphi-Quellcode:
procedure TDemoForm.PageControlMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
  Caption := IntToStr(PageControl.IndexOfTabAt(X, Y));
end;
Wie du deine Information dann anzeigst - automatisch in deinem HintWindow oder über das Kontextmenü in einem InfoDialog - bleibt dir überlassen.

marabu
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 13:07
Zitat:
Wie du deine Information dann anzeigst - automatisch in deinem HintWindow oder über das Kontextmenü in einem InfoDialog - bleibt dir überlassen.
ja aber genau darum gehts mir doch.
Wie kann ich diese Informationen anzeigen, ohne sie nochmals aufzubereiten, quasi ein Screenshot des Tabsheets?
Das mit der Maus ist schon klar.
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#6

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 13:37
Also auf deutsch: Die Daten stehen schon im Tabsheet und du willst an sie ran?
Willst du einen echten Screenshot oder willst du nur die Daten?
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 13:55
ich will halt nicht nochmal alle Controls auswerten, vielleicht wäre tatsächlich ein Bitmap des Tabsheets beim Show eine Lösung...
mal sehen..
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#8

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 14:31
Meine OH sagt mir, dass jedes Delphi-Referenz durchsuchenTWinControl eine Methode Namens Delphi-Referenz durchsuchenPaintTo besitzt. Die rufst du für dein TabSheet auf und sagst, auf welchem Canvas es wo gezeichnet werden soll. AFAIR wird OnShow dabei nicht aufgerufen, bin mir da aber nicht mehr ganz sicher.

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 6. Feb 2006, 15:00
PaintTo klingt vielversprechend...

mal ausprobieren.
Danke einstweilen
Gruss
Matthias
irgendwie gehts.....
  Mit Zitat antworten Zitat
Softchaos67

Registriert seit: 23. Jul 2004
39 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Vorschau auf tabsheet das nicht aktiv ist, ohne Show

  Alt 7. Feb 2006, 09:06
Delphi-Quellcode:
procedure TForm1.PageControl3MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
   tab :TTabSheet;
   position :TPoint;
   bmp :TBitmap;
   frm :TForm;
   i :integer;
begin
   inherited;
   if Button = mbRight then begin
      position.X:=X;
      position.Y:=Y;
      tab := GetTabSheet(PageControl3,position);
      if tab <> nil then begin
          frm := TForm.Create(Self);
          frm.Width := tab.Width+10;
          frm.Height := tab.Height+10;
          frm.Top :=0;
          frm.Left :=0;
          frm.Canvas.Lock;
          tab.PaintTo(frm.Canvas,frm.Top+2,frm.Left+2);
(*
          for i := 0 to tab.ComponentCount-1 do begin
            if (tab.Components[i] is TWinControl) then  with (tab.Components[i] as TWinControl) do begin
                PaintTo(frm.Canvas,top,left);
            end;
          end;
*)
          
          frm.Canvas.Unlock;
          frm.AlphaBlend := true;
          frm.AlphaBlendValue := 200;
          frm.ShowModal;
          FreeAndNil(frm);
      end;
   end;

end;
Habs so probiert, oder alle Controls einzeln.
In beide Fällen wird ein leeres Form angezeigt.
Was muss ich noch beachten?
Gruss
Matthias
irgendwie gehts.....
  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 10:06 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