Ich bin mal wieder dabei eines meiner Programme von Win ( d5 Pro ) nach Lazarus ( Linux) zu portieren. Und nun steh ich vor einem Problem.
Unter Windows ging das so :
Code: Alles auswählen
Procedure SendText(Text: String; Count: Cardinal);
Var
c: Tcanvas;
d1: Cardinal;
Begin
c := TCanvas.create;
c.handle := getdc(0);
Try
C.Font.Color := Cllime;
C.brush.style := BSsolid;
C.brush.Color := clblack;
c.font.size := 24;
// Die While Schleife sorgt für ein Permanentes Zeichnen, Braucht man für 3D Sachen
d1 := Gettickcount;
While (Gettickcount - d1) < Count Do Begin
c.textout(Screen.width Div 2 - c.Textwidth(Text) Div 2, Screen.height - 120, Text);
C.brush.style := bsclear;
Application.ProcessMessages;
End;
Finally
ReleaseDC(C.Handle, 0);
C.Free;
End;
// Wenn man will das alles nur einmal gezeichnet wird mus das hier rein.
// sleep(count);
InvalidateRect(0, Nil, false);
End;