Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
24. Mär 2009
OK, schau ich mir gleich mal an.
Hört sich irgendwie gefährlich an. Borland verwendet also einen Pointer, der auf einen 16-Bit-Bereich (32767 Byte) zugreift. Man muss also davon ausgehen, dass das Bitmap im Speicher (auf das der Pointer zeigt) maximal 32767 groß ist. Du (oder der Verfasser des Codes) verwendet aber durch die R+G+B-Kombination einen 3-fach so großen Speicher, also 3x32767....
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
24. Mär 2009
Hallo.
Vielen Dank für die Beispiele.
Bei dem FormDemo habe ich noch einen Bugfix machen müssen, damit auch 1-Pixel-Breite Linien dargestellt werden können:
Excl := CreateRectRGN(StartX, Y, X (** Bugfix: hier war +1 **), Y + 1);
Bei dem FrmDemo, das mit ScanLines arbeitet, geht es jetzt schon viel schneller. Natürlich ist es je nach Grafik unterschiedlich. Hier mein aktueller Testlauf:
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
21. Mär 2009
Hallo.
Vielen Dank für den Hinweis. Ich habe ein paar Informationen gefunden, jedoch ist es mit den Regions ziemlich umständlich. Ich habe jetzt folgende Komponente, die jedoch extrem unperformant ist. Die Pixels werden abgeglichen und ggf. zu langgezogenen Rects zusammengefasst, die dann mit CombineRgn vereinigt werden. Das ist aber bereits bei meiner Beispielgrafik mit 300x200 Pixeln bei 7...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
18. Mär 2009
Hallo.
Ich habe gestern versucht, die Components Reihenfolge selbst zu testen. Leider repräsentiert Components nicht der Z-Order! Ändere ich die Z-Reihenfolge zur Entwurfszeit, ist Components geordnet. Ändere ich die Reihenfolge in der Laufzeit durch BringToFront, wird die Components nicht neu geordnet.
Gruß
blackdrake
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
17. Mär 2009
Hallo.
Vielen Dank für den Hinweis! Ich werde es nochmal testen, wie es sich bei dynamisch angelegten Komponenten verhält, aber es sieht ja so richtig gut aus. Hätte ich nicht gedacht, dass Delphi intern den Array nach der Z-Order neu berechnet.
Gruß
blackdrake
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
17. Mär 2009
Hallo.
Es ist scheinbar ein größeres Problem als ich dachte. Ich habe jetzt ersteinmal die unperformante Variante verwendet, aber statt den Array einfach mal Components auf alle TImages durchgeprüft. Doch nun habe ich ein weiteres Problem erkannt: Ich kann die Z-Reihenfolge zwar festlegen, aber nicht lesen. Wie kann ich es realisieren, dass der Klick durch ein Image hindurchgeht (das Event...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by blackdrake,
15. Mär 2009
Hallo.
Ich habe mehrere Images, die dynamisch angelegt wurden auf einem Form. Ich weiß nicht, welches der Images vorne und welches hinten liegt. Klickt der Benutzer ein Image an, soll ein Ereigniss statt finden, dass alle darunterliegende Images zusätzlich betrifft. Wie mache ich das?
Alle Bilder haben natürlich das gleiche OnMouseDown(x, y) Ereigniss.
Am schönsten wäre es, wenn ich...