AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte SubClassed Control
Thema durchsuchen
Ansicht
Themen-Optionen

SubClassed Control

Ein Thema von EWeiss · begonnen am 30. Jun 2011 · letzter Beitrag vom 10. Okt 2016
Antwort Antwort
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#1

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 22:36
Nö. Ist unter den Tisch gefallen...
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 22:42
Nö. Ist unter den Tisch gefallen...
Funktioniert soweit..
Naja kleine Probleme findet man immer noch irgend wo.
Hab mal mit meiner Screenlupe geschaut unter Win7 stimmen die Koordinaten exakt.

Zitat:
P.S.: Das ist ja ein richtig umfangreiches Projekt und einer Menge Arbeit, die da drin steckt.
Ganz tolle Arbeit!

Danke für die Blumen.. Jup das macht sich nicht von alleine
und als Hobby Schreiber hab ich das schon gut hinbekommen denk ich mal.

EDIT:
Solltest du vielleicht noch ändern!
Es macht keinen Sinn den Rect zu kopieren wenn die ScrollBar nicht aktiv ist.

Delphi-Quellcode:
function THookedScrollbar.StoreHorizontal(WinHandle: HWND): Boolean;
var
  State: Boolean;
begin

  // Lese aktuelle Bar Parameter
  HScrBar.cbSize := SizeOf(HScrBar);
  GetScrollBarInfo(WinHandle, integer(OBJID_HSCROLL), HScrBar);

  State := HScrBar.rgstate[0] and STATE_SYSTEM_INVISIBLE = 0;
  if State then
    // kopiere den aktuellen Rect zur späteren bearbeitung
    CopyRect(HorzRect, HScrBar.rcScrollBar);

  Result := State;

end;

gruss

Geändert von EWeiss (30. Jun 2011 um 22:51 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#3

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 22:54
[...] unter Win7 stimmen die Koordinaten exakt.
Hmm... Merkwürdig...

Jup das macht sich nicht von alleine und als Hobby Schreiber hab ich das schon gut hinbekommen denk ich mal.
Auf jeden Fall! Da können sich diverse Schaff-Ich-Das-Abi-Oder-Nicht-Programme gleich ein paar Scheiben abschneiden.

P.S.: Ja - da hast Du Recht. Hab' die Änderung übernommen.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (30. Jun 2011 um 22:56 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 22:58
[...] unter Win7 stimmen die Koordinaten exakt.
Hmm... Merkwürdig...
Warum merkwürdig ?
Denke das ist normal die ScrollBars sind wohl etwas Größer ausgefallen.

Zitat:
P.S.: Ja - da hast Du Recht. Hab' die Änderung übernommen.
OkiDoki

PS:
Du kannst aber mit GetOS prüfen welches OS verwendet wird und dem entsprechend
die Function ResizeScrollBarPos erweitern.
Alles was mehr als WinXp ist so belassen..

gruss

Geändert von EWeiss (30. Jun 2011 um 23:18 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#5

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 23:21
Denke das ist normal die ScrollBars sind wohl etwas Größer ausgefallen.
Aha: Da liegt der Hase im Pfeffer. Ich habe mal auf meinem Rechner den Scrollbars eine XXL-Größe mit einer Breite von 30 Pixeln verpaßt:
scrollbarxxl.jpg

Damit offenbart sich ein Problem: Deine Scrollbars funktionieren nur dann richtig, wenn nicht irgendwer seinen Rechner "umgestellt" hat. Wäre es da nicht eventuell günstiger, die Darstellung nicht über Bilder zu realisieren, sondern direkt zu zeichnen? Oder eventuell über SVG-Bilder, die sich besser skalieren lassen?
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (30. Jun 2011 um 23:23 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 23:41
Denke das ist normal die ScrollBars sind wohl etwas Größer ausgefallen.
Aha: Da liegt der Hase im Pfeffer. Ich habe mal auf meinem Rechner den Scrollbars eine XXL-Größe mit einer Breite von 30 Pixeln verpaßt:
Anhang 34539

Damit offenbart sich ein Problem: Deine Scrollbars funktionieren nur dann richtig, wenn nicht irgendwer seinen Rechner "umgestellt" hat. Wäre es da nicht eventuell günstiger, die Darstellung nicht über Bilder zu realisieren, sondern direkt zu zeichnen? Oder eventuell über SVG-Bilder, die sich besser skalieren lassen?
Denke mal von meiner erfahrung her geht nichts über PNG.
Hatte da noch nie probleme bei der Skalierung.

Man müßte halt dann noch irgendwie abfragen wie die aktuelle positionen im System eingestellt sind.
Da muss ich mich aber erst mal reindenken und im NET mal nachblättern wie ich das realisieren kann.
Das skalieren ist dann das kleinst problem.
Denke das ich dann aber die Stretchblitter Methode von GDI+ verwenden werde.
Aktuell ist sie ja von GDI.

PS:
Denke das ist über den Rect der Originalen ScrollBar zu ermitteln.
Da muss man nicht im System rumwurschteln.


gruss

Geändert von EWeiss (30. Jun 2011 um 23:51 Uhr)
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#7

AW: SubClassed ScrollBar

  Alt 30. Jun 2011, 23:56
Denke das ist über den Rect der Originalen ScrollBar zu ermitteln. Da muss man nicht im System rumwurschteln.
Ja - denke auch, daß das funktionieren sollte. Du ermittelst ja schon den Bereich bzw. das Rechteck, das die Scrollbar einnimmt.
Thomas Nitzschke
Google Maps mit Delphi
  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 15:26 Uhr.
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