Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Rollovergrafiken für speedbuttons (https://www.delphipraxis.net/37694-rollovergrafiken-fuer-speedbuttons.html)

C64-Flo 8. Jan 2005 23:03


Rollovergrafiken für speedbuttons
 
Hallo erstma, ist schon ne weile her seit ich hier vorbeigeschaut habe :-D


Folgendes kleines Problem:

Ich möchte ganz simpel rollovergrafikwechsel für glyphen auf speedbuttons erreichen.

Da ich rumgetüftelt habe, hab ich es zwar schon irgendwie hinbekommen (mit ´mousmove´ etc),
aber dabei flackern die grafiken ziemlich hässlich....

Delphi-Quellcode:
procedure TForm4.SpeedButton3MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
if neubutton=false then begin
            speedbutton3.glyph.loadfromfile(ExtractFilePath(ParamStr(0)) + 'data\img\btn\neuesspiel2.bmp');
            neubutton:=true;
            end;
end;
und für die wiederherstellung dasselbe in grün für mousemove über der Form....

Delphi-Quellcode:
if neubutton=true then begin
            speedbutton3.glyph.loadfromfile(ExtractFilePath(ParamStr(0)) + 'data\img\btn\neuesspiel1.bmp');
            neubutton:=false;
            end;
Geht doch sicher auch einfacher, oder?
:lol:

Rastaman 8. Jan 2005 23:43

Re: Rollovergrafiken für speedbuttons
 
Vielleicht hilft Form1.Doublebuffered := True...oder so ähnlich

C64-Flo 9. Jan 2005 09:33

Re: Rollovergrafiken für speedbuttons
 
Jep, THX!

Es funztz!

Allerdings frage ich mich,

1.WAS alles ge´doublebuffert´ wird?
und daraus resultierend
2.WIE hoch dabei die Speicherbelastung wird?

Durch meinen doch ziemlich speichermordenden Programmierstil gehn die Rechner eh schon reihenweise in die Knie ;)
(wenn ich alle meiner im Programm befindlichen 30 Forms doublebuffere wirds evtl eng?)
:gruebel:

tommie-lie 9. Jan 2005 10:33

Re: Rollovergrafiken für speedbuttons
 
Zitat:

Zitat von C64-Flo
1.WAS alles ge´doublebuffert´ wird?

Der DeviceContext des Controls, dessen DoubleBuffered-Property du auf True gesetzt hast, in deinem Fall also der DC der Form.

Zitat:

Zitat von C64-Flo
2.WIE hoch dabei die Speicherbelastung wird?

Höhe * Breite * Farbtiefe, bei einem 800*600-Fenster bei einer Farbtiefe von 32 bit also so knapp 2 MB.

Zitat:

Zitat von C64-Flo
Durch meinen doch ziemlich speichermordenden Programmierstil gehn die Rechner eh schon reihenweise in die Knie ;)

:shock: Was machst du denn da genau?

C64-Flo 9. Jan 2005 16:07

Re: Rollovergrafiken für speedbuttons
 
Du musst das so sehen:

Ich habe praktisch keinen Plan von Delphi (was man an meinen fragen hier oft sieht ;)), code aber für meine Leben gerne -kA wie das nochmal war, dass ich mit Delphi anfing.... :gruebel:

Irgendwie kriegt man schon alles hin, wenn man will..(auch wenn mans übers Knie brechen muss und notorisch BASIC-stile anwendet, obwohls vermutlich schon 1000 neuzeitlichere Wege gibt , wie man das eine oder andere Problem hinbekommt :lol: )

Zur Zeit mache ich ein Hack´n´Slay-Tamagotchi-Popp-Spiel(tm)...grob an AD&D angelehnt.
Im Grunde nichts bahnbrechendes, aber in Punkto Suchtfaktor immer noch top! :-D

C64-Flo 10. Jan 2005 17:37

Re: Rollovergrafiken für speedbuttons
 
Oh neeein!

Ich fürchte, die grenze ist erreicht! :wall:

Unlogische Fehler im Ablauf bis hin zu Ausstiegen an Stellen, die vorher noch funktionierten -

sind das Hinweise auf eine Speicherüberlastung? :wiejetzt:

Jaja, ich gebs zu, ich hab eine Handvoll globaler Arrays drinne und auch sonst nicht wirklich darauf geachtet, sparsam mit dem Speicher umzugehen... :(


Bitte bitte kann mir jemand sagen wie ich vielleicht dem Programm mehr Speicher zuweisen kann dass es alle Arrays etc verkraftet oder sowas?
Bzw wie ich sonst Speicher sparen könnte?

Oder liegts an was anderem? :coder2:
Darf man nicht über 30 Forms in einem Programm verwenden?

aaaaaaaahhhhhhhhhhhhh

Erinnerungen an
"OUT OF MEMORY"-Meldungen werden wach :duck:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 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