Bitte kein Gelächter, bin immer noch Anfänger. Ich ich hab mich mal durchgerungen etwas hier reinzuschreiben.
Code: Alles auswählen
InitSprite()
InitKeyboard()
OpenScreen(800, 600, 32, "")
Procedure C_V_Text_Box(boxX.l, boxY.l, boxW.l, boxH.l, Abstand.l, text.s, r.l, g.l, b.l)
; *************************************************************************************
; * Funktion: C_V_Text_Box(boxX, boxY, boxW, boxH, Abstand, text, r, g, b)
; *************************************************************************************
; * Beschreibung: Zentriert einen mehrzeiligen Text innerhalb einer Box
; *************************************************************************************
; * Parameters:
; * Abstand - Abstand zwischen den TextZeilen
; * boxX/boxY - Start Position der Box
; * boxW/boxH - Breite und Höhe der Box
; * text - Text -> mit | werden die Zeilen getrennt
; *
; *************************************************************************************
Protected cW.l, AP.l, Breite.l, Hoehe.l, i.l, gapy.l
DrawingMode(#PB_2DDrawing_Outlined)
Opt = 1 + CountString(text, "|")
Box(boxX , boxY, boxW, boxH, RGB(r, g, b))
For i = 1 To Opt
Breite = TextWidth(StringField(text, i, "|"))
Hoehe = TextHeight(StringField(text, i, "|"))
AP = (boxH-((Opt*Hoehe)+((Opt-1)*Abstand)))/2
cW = (boxW/2)-(Breite/2)
DrawingMode(#PB_2DDrawing_Transparent)
DrawText(boxX+cW,boxY+AP+gapy,StringField(text, i, "|"),RGB(r, g, b))
gapy = (i*(Hoehe+Abstand))
Next
EndProcedure
Repeat
ClearScreen(0)
ExamineKeyboard()
StartDrawing(ScreenOutput())
C_V_Text_Box(250, 150, 300, 300, 10,"Test|für|Forum|geschrieben|am|16.02.2008",255,255,255)
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)