AGB  ·  Datenschutz  ·  Impressum  







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

TSplitter mit Doppelklick ansprechen

Ein Thema von RWarnecke · begonnen am 15. Dez 2008 · letzter Beitrag vom 25. Dez 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

TSplitter mit Doppelklick ansprechen

  Alt 15. Dez 2008, 14:36
Hallo zusammen,

Mein erster Gedanke war, auf die Message WM_LBUTTONDBLCLK und den Focus von TSplitter zu reagieren. Nur leider gibt es bei der Komponente keine Methode oder Property, die den Focus abfragt.

Deshalb suche ich noch nach anderen Ideen, wie ich einen Doppelklick auf TSplitter abfangen kann und dann eine Aktion ausgeführt wird.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
worker
(Gast)

n/a Beiträge
 
#2

Re: TSplitter mit Doppelklick ansprechen

  Alt 15. Dez 2008, 15:53
TSplitter ist ein Kind von TControl
Also ableiten und Property veröffentlichen.

Delphi-Quellcode:
   TDblClickSplitter = Class(TSplitter)
   published
      Property OnDblClick;
   End;
Und in Zukunft nicht so kompliziert denken
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#3

Re: TSplitter mit Doppelklick ansprechen

  Alt 15. Dez 2008, 16:04
Oder der übliche protected-friend-Trick:
Delphi-Quellcode:
type
  THACK_Splitter = class(TSplitter);

procedure TForm1.FormCreate(Sender: TObject);
begin
  THACK_Splitter(Splitter1).OnDblClick := Splitter1DblClick;
end;
Uli Gerhardt
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: TSplitter mit Doppelklick ansprechen

  Alt 16. Dez 2008, 19:12
Danke erstmal für eure Antworten. Ich habe jetzt mal ein bisschen rumprobiert und ich bekomme es nicht zu laufen. Das mein aktuelles Beipsieli dafür :
Delphi-Quellcode:
unit Unit8;

interface

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

type
  TForm8 = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Splitter1: TSplitter;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure Splitter1DblClick(Sender: TObject);
  public
    { Public declarations }
  end;
  TDblClickSplitter = class(TSplitter);

var
  Form8: TForm8;

implementation

{$R *.dfm}

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

procedure TForm8.FormCreate(Sender: TObject);
begin
  TDblClickSplitter(Splitter1).OnDblClick := Splitter1DblClick;
end;

end.
Warum funktioniert das Beipsiel nicht ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

Re: TSplitter mit Doppelklick ansprechen

  Alt 16. Dez 2008, 19:24
Zitat von RWarnecke:
Warum funktioniert das Beipsiel nicht ?
Was sollte nicht gehen? Wird das Ereignis nicht ausgelöst?
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

Re: TSplitter mit Doppelklick ansprechen

  Alt 16. Dez 2008, 19:44
Zitat von toms:
Zitat von RWarnecke:
Warum funktioniert das Beipsiel nicht ?
Was sollte nicht gehen? Wird das Ereignis nicht ausgelöst?
Jepp, das Ereignis wird nicht ausgelöst.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: TSplitter mit Doppelklick ansprechen

  Alt 16. Dez 2008, 19:56
Seltsam. Funktioniert mit D6 / D2009.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: TSplitter mit Doppelklick ansprechen

  Alt 16. Dez 2008, 20:51
Ich habe es mit einem RAD Studio 2007 ausprobiert. Mit 2007 funktioniert es nicht und mit Turbo Delphi Explorer funktioniert es wieder.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#9

Re: TSplitter mit Doppelklick ansprechen

  Alt 22. Dez 2008, 14:50
Zitat von RWarnecke:
Ich habe es mit einem RAD Studio 2007 ausprobiert. Mit 2007 funktioniert es nicht und mit Turbo Delphi Explorer funktioniert es wieder.
Ich habe das ganze jetzt nochmals getestet unter RAD Studio 2007. Wenn ich dort den Sourcecode compiliere, funktionert es nicht mit dem Doppelklick auf den Splitter. Wird der gleiche Sourcecode unter Turbo Delphi 2006 Explorer kompiliert, funktioniert der Doppelklick auf den Splitter. Hat jemand eine Idee, warum das so ist ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#10

Re: TSplitter mit Doppelklick ansprechen

  Alt 25. Dez 2008, 17:08
*push* Hat niemand eine Idee, warum es unter Delphi 6, Turbo Delphi und D2009 funktioniert und unter Delphi 2007 nicht ? *push*
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:44 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