Entwickler-Ecke

Multimedia / Grafik - Canvas.TextOut Farbänderungsproblem


Ah-El-Eh-Iks - So 09.09.07 22:09
Titel: Canvas.TextOut Farbänderungsproblem
Hallo,

ich will eine kleine DOS-Emulation schreiben. Hab eine Schriftart gefunden, die so aussieht, das Formular schwarz gemacht und eine Prozedur geschrieben, die mit Hilfe von Canvas.TextOut Schrift platzieren soll.


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TForm1.Ausgabe(x,y: Integer; Text: String; Vordergrundfarbe, Hintergrundfarbe: TColor);
begin
 Form1.Canvas.Brush.Color := Hintergrundfarbe;
 Form1.Font.Color := Vordergrundfarbe;
 Form1.Canvas.TextOut(x*8,y*16,Text);
end;


Wenn ich die Prozedur nun von einem Button aus aufrufe, geht es beim ersten Mal nicht - erst wenn man ein zweites Mal draufdrückt... Woran kann das liegen? (Also Wenn man das Ändern der Vordergrundfarbe auskommentiert, geht es - aber dann ist ja die Prozedur nur halb so gut)

Und noch was: Wohin kann ich denn den Aufruf legen, damit er, sobald das Programm startet, ausgeführt wird? Alles bis "OnActivate" ist nämlich scheinbar zu früh...

Viele Grüße

Alex


Calculon - So 09.09.07 22:25

Zitat:
Und noch was: Wohin kann ich denn den Aufruf legen, damit er, sobald das Programm startet, ausgeführt wird? Alles bis "OnActivate" ist nämlich scheinbar zu früh...

Probier's mal mit OnPaint.

Gruß

Calculon
--


Ah-El-Eh-Iks - So 09.09.07 22:30

user profile iconCalculon hat folgendes geschrieben:

Probier's mal mit OnPaint.


Ahh... :D danke... *Halben Haken ans Thema mach*

Na ja, war mir irgendwie schon klar, dass das nur was kleines ist, deswegen hab ich das mal mit dran gehängt^^


Ah-El-Eh-Iks - Mo 10.09.07 18:45

So, hab mir die ganze Sache nochmal angesehen... Also man hat einmal Farbänderung "gut", danach fängt es an zu flimmern, so als ob da eine Schleife wäre, die dauernd Text ausgibt und dann wieder löscht.

Dabei hab ich doch gar keine Schleife verwendet (noch nicht^^). Hat irgendjemand ne Idee?