AGB  ·  Datenschutz  ·  Impressum  







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

Größe und Positionswerte begrenzt

Offene Frage von "FrankZ1"
Ein Thema von FrankZ1 · begonnen am 1. Jun 2006 · letzter Beitrag vom 3. Jun 2006
Antwort Antwort
FrankZ1

Registriert seit: 14. Apr 2006
Ort: Zürich
3 Beiträge
 
Delphi 2005 Personal
 
#1

Größe und Positionswerte begrenzt

  Alt 1. Jun 2006, 07:43
Hallo

Ich habe angefangen einen JPG-Viewer zu programmieren.
Der Viewer kann eine grosse Anzahl Bilder untereinander anzeigen.
Der Viewer ist eine Art ScrollBox (nicht TScrollBox), die einen beliebig grossen Anzeigebereich hat.
Meine Klasse TJpgPage die die Bilder enthält, habe ich von TCustomControl abgeleitet.
Diese Lösung wollte ich, damit TJpgPage die Funktion Paint nur aufruft, wenn ein Paint nötig ist und all die nützlichen Events schon zur Verfügung stellt. Das ging soweit so gut.

Jetzt musste ich feststellen, dass eine Instanz von TJpgPage nicht über eine Position von 32767 Pixel gezeichnet werden kann. Alle Instanzen von TJpgPage, denen ich einen grösseren Wert für Top zugewiesen habe, haben nachher Top auf 32767 gekürzt.

Meine bisherige Alternative war, die Instanzen von TJpgPage nicht mit seiner eigenen Prozedur Paint zeichnen zu lassen sondern von aussen, vom Viewer aus. Dazu muss ich alle Bilder durchfahren und checken, ob sie im sichtbaren Bereich sind. Mit der "richtigen" Implementierung erledigt das Windows für mich.
Ich vermute, dass auch all die Events die Beschränkung auf 32767 haben.
So werde ich wohl oder übel auch die Events beim Viewer implementieren müssen und sie auf die Instanzen von TJpgPage mappen.

Nun wollte ich wissen ob es nicht eine andere Möglichkeit gibt, die nicht die Einschränkungen von TCustomControl hat, um eine Klasse TJpgPage zu programmieren, die seine Instanzen selber zeichnen kann und alle Events zur Verfügung stellt.

Ich habe schon mit JVCL versucht. Da scheinen die gleichen Einschränkungen zu bestehen.

Hat jemand dazu eine Lösung?

Auf Posts kann ich wahrscheinlich erst am Abend nach der Arbeit antworten.

Gruß
Frank
  Mit Zitat antworten Zitat
FrankZ1

Registriert seit: 14. Apr 2006
Ort: Zürich
3 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Größe und Positionswerte begrenzt

  Alt 2. Jun 2006, 11:35
OK, mein Post oben war vielleicht zu umfangreich.

Kurz:
Gibt es Möglichkeiten die Positions-Begrenzungen von Controls zu umgehen?
  Mit Zitat antworten Zitat
FrankZ1

Registriert seit: 14. Apr 2006
Ort: Zürich
3 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Größe und Positionswerte begrenzt

  Alt 3. Jun 2006, 02:07
Vielleicht kann ich noch mit Sourcen jemand locken?

Hier habe ich ein Demoprogramm erstellt, wo ein paar Bilder untereinander angezeigt werden.
Beim Demoprogramm lade ich per Zufallsgenerator immer die gleichen 5 Bilder.
In einer richtigen Anwendung könnten natürlich alles verschiedene Graphiken sein.

Beim Demoprogramm kann man angeben wieviel Bilder untereinander angezeigt werden sollen.
Wenn etwa 350 Bilder (es sind ziemlich kleine Bilder) angezeigt werden, kann man sehr gut die Effekte der Positionsbeschränkung beobachten, indem man ganz nach unten scrollt.

Ich hoffe mit dem Demoprogramm wird es klarer, wo meine Probleme sind und jemand hat eine gute Idee. Ich meine eine bessere Idee als ich (Paint-Prozedur und die Events im Viewer implementieren und auf die Pages mappen).

In einem ZIP-File sind nur die Sourcen (Delphi 2005 Personal Edition) vorhanden. Für den Fall dass jemand nicht das passende Delphi für die Erstellung der EXE-Datei hat, wäre die EXE-Datei noch in einer zweiten ZIP-File enthalten.

Gruß
Frank
Angehängte Dateien
Dateityp: zip positionlimit_200.zip (21,4 KB, 6x aufgerufen)
Dateityp: zip positionlimitexe_785.zip (267,8 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Größe und Positionswerte begrenzt

  Alt 3. Jun 2006, 03:31
Wüdest du bitte aufhören deinen Beitrag innerhalb von 24 Stunden zu puishen? Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 19:48 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