Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TSplitter mit Doppelklick ansprechen (https://www.delphipraxis.net/125949-tsplitter-mit-doppelklick-ansprechen.html)

Christian Seehase 25. Dez 2008 17:35

Re: TSplitter mit Doppelklick ansprechen
 
Moin Rolf,

setz' doch mal in das OnDblClick-Event, jeweils zu Beginn und Ende eine Zeile mit OutputDebugString.
Dann kannst Du leicht mal nachvollziehen, ob die Ereignisroutine über aufgerufen wird.
Ggf. ginge es wohl auch mit einem Breakpoint auf die Zeile in der Routine, aber das könnte den Ablauf beeinflussen.

RWarnecke 25. Dez 2008 17:38

Re: TSplitter mit Doppelklick ansprechen
 
Hallo Christian,

danke für Deine Antwort. Ich habe schon einen Breakpoint in das OnDblClick-Event gesetzt. Nur springt mein Programm niemals in dieses Event. Meine Vermutung geht dahin, dass irgendwas mit dem Ableiten der Klasse nicht richtig funktioniert, so wie ich es gemacht habe.

Edit :
Der gleiche Sourcecode funktioniert ja unter Delphi 6 / Turbo Delphi und Delphi 2009. Wobei Delphi 6 und Delphi 2009 hat toms getestet.

RWarnecke 25. Dez 2008 18:22

Re: TSplitter mit Doppelklick ansprechen
 
Ich bin jetzt ein bisschen weitergekommen. Wenn ich unter Delphi 2007 den Aufruf :
Delphi-Quellcode:
TDblClickSplitter(Splitter1).OnDblClick := Splitter1DblClick;
ein einen ButtonClick setze, funktioniert es. Nur in FormCreate und FormShow nicht. Warum ?

Edit: Revidiere, diesen Eintrag. In FormCreate funktioniert es nicht, es muss in FormShow stehen.

Gehstock 25. Dez 2008 19:41

Re: TSplitter mit Doppelklick ansprechen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls;

type
  TForm2 = class(TForm)
    Splitter1: TSplitter;
    Panel1: TPanel;
    Panel2: TPanel;
    procedure FormCreate(Sender: TObject);
  private
    procedure Splitter1DblClick(Sender: TObject);
  public
    { Public-Deklarationen }
  end;
   TDblClickSplitter = class(TSplitter);
var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Splitter1DblClick(Sender: TObject);
begin
  Panel1.Width := Round(Form2.Width / 2);
end;


procedure TForm2.FormCreate(Sender: TObject);
begin
  TDblClickSplitter(Splitter1).OnDblClick := Splitter1DblClick;
end;
D2007 keine Probleme bei OnCreate tut was es soll

Edit hab grad gemerkt das es auf die Größe der Panels ankommt ist eins davon sehr schmal dann hakt es

RWarnecke 25. Dez 2008 20:08

Re: TSplitter mit Doppelklick ansprechen
 
Mmmh, komisch ich verstehe die Welt nichtmehr. Ich habe es vorhin ins FormCreate mit einem OutputDebugString gepackt und es hat nicht funktioniert. Jetzt auf einmal funktioniert es. Irgendwie komisch :gruebel: :glaskugel:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 Uhr.
Seite 2 von 2     12   

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