AGB  ·  Datenschutz  ·  Impressum  







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

[Demo] Schwenkfenster (TCustomPanningWindow)

Ein Thema von WladiD · begonnen am 8. Sep 2010 · letzter Beitrag vom 8. Sep 2010
Antwort Antwort
Seite 1 von 3  1 23      
WladiD

Registriert seit: 27. Jan 2006
Ort: Celle
135 Beiträge
 
Delphi 10.4 Sydney
 
#1

[Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 11:54
Hallo alle zusammen,

einigen von Euch dürfte die Schwenk-Funktion, die durch klicken des Mausrads ausgelöst wird, aus Browsern bekannt sein. Ob sie nun sinnvoll ist oder nicht ist Geschmackssache, ich für meinen Teil finde sie bei langen Listen nützlich um sich einen Überblick zu verschaffen, ohne dabei das Rad zum glühen zu bringen.

Jedenfalls wollte ich soetwas selbst in meinem Programm einbauen und bin per Zufall auf die Eigenschaft TMouse.PanningWindow, TMouse.PanningWindowClass und die abstrakte Klasse TCustomPanningWindow der VCL (Delphi 2010) gestossen. Super, dachte ich mir und wollte ein paar Beispiele ansehen, die diese Klasse implementieren und verwenden. Doch Google hat nichts brauchbares finden können. "Learn by try and error" war also angesagt.

Nach einigen Stunden war das erste Erfolgserlebnis da und wenig später eine (für mich) brauchbare Lösung, die ich Euch hier als Demo präsentieren möchte.

TPannningWindow-Demo.7z


PanningWindow - Unit

PanningWindow.pas


Verwendung

Theoretisch können damit alle TControl-Objekte geschwenkt werden, die horizontale und/oder vertikale Standard-Scrollbalken verwenden. Dafür muss lediglich der gewünschten Instanz das Element [csPannable] an die Eigenschaft TControl.ControlStyle hinzugefügt werden. Der Eigenschaft Mouse.PanningWindowClass muss zuvor die spezifische Klasse zugewiesen werden.

Delphi-Quellcode:
implementation

uses
  PanningWindow;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Mouse.PanningWindowClass:=TPanningWindow;
  // Wenn es etwas zu scrollen gibt...
  Form1.ControlStyle:=Form1.ControlStyle + [csPannable];
  // hier weitere Komponenten, die scrollbar sind nach dem
  // Schema Control.ControlStyle:=Control.ControlStyle + [csPannable]
end;
Voraussetzungen

Funktionsfähig ab Delphi 2009 (wegen anonymen Methoden).

Die PanningWindow-Unit verwendet folgende Third-Party-Units, die alle OpenSource sind:
mfg
Miniaturansicht angehängter Grafiken
tpanningwindow-demo.png  
Waldemar Derr

Geändert von WladiD ( 8. Sep 2010 um 21:25 Uhr) Grund: Update der Demo und PanningWindow-Unit
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#2

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 11:56
Stylisch!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 12:02
Hast du vor, die Komponente zu Veröffentlichen?
Markus Kinzler
  Mit Zitat antworten Zitat
WladiD

Registriert seit: 27. Jan 2006
Ort: Celle
135 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 12:28
Hast du vor, die Komponente zu Veröffentlichen?
Hallo mkinzler,

eine richtige Komponente ist es ja nicht, sondern nur eine Klasse, die an Mouse.PanningWindowClass zugewiesen wird. Um daraus eine Komponente zu machen müsste man einen Wrapper schreiben was an sich kein Problem wäre, wenn TControl.ControlStyles published wäre...man müsste so oder so per handgeschriebem Code den gewünschten Komponenten ControlStyle+[csPannable] hinzufügen, wodurch die TPanningWindow als put&play-Komponente obsolet wird.

Oder der Wrapper müsste eine Liste verwalten mit Komponenten, die scrollbar sein sollen, was jedoch wiederrum ein unnötiger Verwaltungsaufwand wäre...hmmm...ich glaube, ich lasse es vorerst als eine Single-Class-Lösung.

mfg
Waldemar Derr

Geändert von WladiD ( 8. Sep 2010 um 12:29 Uhr) Grund: Buchstabendreher
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 12:32
mkinzler meinte auch mehr, hast du vor es so zu veröffentlich, daß es auch Andere in eigenen Programmen verwenden können?

Aktuell haben wir (anscheinend) nur die Demo (EXE) und Links zu nötigen Komponenten, aber nicht deine Klasse.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
blackfin
(Gast)

n/a Beiträge
 
#6

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 12:34
Zitat:
Aktuell haben wir (anscheinend) nur die Demo (EXE) und Links zu nötigen Komponenten, aber nicht deine Klasse.
Der hat's versteckt :

Zitat:
Um diesen Post nicht unnötig in die Länge zu ziehen, habe ich meine Implementierung der TCustomPanningWindow-Klasse als Source im TMemo in die Demo-EXE eingebunden: einfach nach rechts unten scrollen.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 12:36
Echt cool
Muss man sich mal merken, falls es mal an einer Stelle nützlich sein kann.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
WladiD

Registriert seit: 27. Jan 2006
Ort: Celle
135 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 13:49
Sorry Leute,

ich habe mkinzler wohl missverstanden. Der Eröffnungspost wurde soeben überarbeitet und enthält jetzt die Unit und Code-Schnipsel für dessen Verwendung.

Ich galube hier irgendwo gelesen zu haben, dass große Quelltexte in Beiträgen unerwünscht sind, daher habe ich sie zuvor in die Demo-Exe eingefügt.

mfg
Waldemar Derr
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 13:50
Man kann auch die Quelldateien (Pas) direkt anhängen oder in ein Archiv verpacken
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#10

AW: [Demo] Schwenkfenster (TCustomPanningWindow)

  Alt 8. Sep 2010, 13:56
@WladiD: Es ist nur unpraktisch, wenn "große Quelltexte" mitten im Beitrag stehn.
Als Anhang machen sie sich besser.

Also das Memo in der EXE ... "unten rechts" war nichts.
Man muß in der Mitte suchen und dort war ich beim Testen wohl nicht vorbeigekommen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 8. Sep 2010 um 14:04 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05:42 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