AGB  ·  Datenschutz  ·  Impressum  







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

Scrollbar umpositionieren

Ein Thema von Stevie · begonnen am 15. Jun 2004 · letzter Beitrag vom 18. Jun 2004
Antwort Antwort
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Scrollbar umpositionieren

  Alt 15. Jun 2004, 10:51
Hi Leute,

ich habe vor in meinemr von TDBGrid abgeleiteten Komponente einen Navigator in die linke untere Ecke zu bringen.
Wie kann ich die Scrollbar vom Grid schmaler machen, so dass sie erst rechts vom Navigator anfängt?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 11:49
Das geht so nicht !
Steuerelemente (= Controls) beanspruchen für sich immer ein Rechteck (gesteuert von Left, Top, Width, Height) und füllen dieses mit ihrem Inhalt komplett aus.
Die Scrollbars sind fest im TDBGrid integriert. Man müsste den hor. Scrollbar als eigenes Control
isolieren, damit man Grid, hor. Scrollbar & Navigator entsprechend anordnen kann.
Und da dies in der VCL nicht vorgesehen ist, musst du halt mit einem 08/15 Design auskommen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 12:19
Wie kann ich das denn sonst machen?
Ich möchte eine Grid, wo unten links der Navigator ist und rechts daneben die Scrollleiste.
Muss ich dann diese drei Elemente auf ein Panel packen?
Wie bekomme ich denn dann die Scrollleiste aus dem Grid?
Wie verbinde ich die neue Scrollbar mit dem Grid?

Ok, viele Fragen, aber ich hoffe, jemand hat eine Anregung für mich.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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
 
#4

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 12:38
Diese einzige Anregung die mir einfällt ist das Studium der VCL-Sourcen.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#5

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 12:42
Wenn du ein bißchen Ahnung von der Windows API hast.


Leichter:

Verstecke die untere Scrollleiste -> WM_NCCALCSIZE
Setze eine neue ScrollBar, und leite deren Scrollnachrichten an das DBGrid weiter.
Leite alle Scrollnachrichen vom DBGrid zur Scrollbar weiter



Schwer:

Klemme jegliche Nachricht zum Scrollbar zeichen ab und ersetze sie durch deine eigenen Routinen.
Du musst dabei jede Berechnung und Zeichenroutine selbst schreiben. Hast aber völlige Freiheit in der Gestaltung des Non-Client-Bereiches. (Genauso wird es übrigens bei den FlatScrollBars gemacht).


Gleich im vorraus! Ich kann kein Bsp Posten, ich habe diesen speziellen Fall noch nicht programmiert und außerdem währe dieser Quelltext viel zu lang und kompliziert.

Woher weiß ich das dann, ich habe mal die rechte Scrollbar durch zwei Schalter ersetzt. Einer oben im Control und einer unten (siehe Anhang).

Viel Spaß beim tüfteln.
Miniaturansicht angehängter Grafiken
bild2_928.jpg  
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 14:00
Kannst du mir ungefähr sagen, wo ich dann einhaken muss. Ich hab jetzt die VCL durchgewühlt aber nicht wirklich die Routine gefunden, wo die Scrollbar gezeichnet wird, bzw. wo die Zeichenkoordinate gesetzt wird.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#7

Re: Scrollbar umpositionieren

  Alt 15. Jun 2004, 16:57
Die Scrollbar wird ja auch nicht von der VCL gezeichnet, sondern von Windows.

Deshalb musst du die geeigneten Nachrichten manipulieren.

WM_MCCALCSIZE, WM_NCPAINT, WM_VSCROL, WM_HSCROLL, WM_NCLBUTTONDOWN, usw.
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

Re: Scrollbar umpositionieren

  Alt 17. Jun 2004, 09:01
Ok, ich hab mir mal die dementsprechenden Routinen aus TWinControl angeguckt, und dabei ist mir aufgefallen, dass ja eigentlich nur der Clientbereich berechnet wird und der Rest somit quasi Scrollbar ist, oder? Dann wäre es doch garnicht möglich, auf diesem Weg die Scrollbar weiter rechts anfangen zu lassen, weil sie ja am linken Rand des Clientbereichs anfängt, oder irre ich mich da?
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#9

Re: Scrollbar umpositionieren

  Alt 17. Jun 2004, 18:55
Deswegen muss du ja die von Windows gezeichnete Scrollbar mit deiner eigenen Überzeichnen -> WM_NCPAINT
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.027 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

Re: Scrollbar umpositionieren

  Alt 18. Jun 2004, 11:52
Das ist mir irgendwie alles zu kompliziert im Moment und ich hab auch nicht die Zeit mich einzuarbeiten (vielleicht demnächst mal), deshalb hab ich jetzt einfach ein Panel genommen und da die Grid und die Navigator draufgepackt. Ok, das Schönheitsproblem mit der Scrollbar, die jetzt über dem Navigator sitzt ist noch da, aber das ganze erfüllt schonmal seinen Zweck. Auf jeden Fall vielen Dank für die Hilfe, wenn ich mich nochmal damit eingehender auseinandersetze, komm ich gerne auf dich zurück.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  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 13:50 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