Shando69 - you can draw a box behind a label in any color you like, either with DBPro's native box command, or with Advanced 2D's a2Box and a2FillBox commands. And the guiLabel function includes a parameter for the text color of the label. But, unless you are putting the labels in a window, you can also just use the a2D text commands.
Here's an example with TopGUI
set display mode 800,600,32
sync on
sync rate 0
guiInit()
do
cls 0xFFC0D0FF
halign = 1
valign = 0
a2FillBox 250, 100, 330, 130, 0xFFFF0000
a2Box 250, 100, 330, 130,0xFF000000
guiLabel(GEN_ID, 250, 105, 80, 180, "Player 1", halign, valign, 0xFFFFFF00)
a2FillBox 350, 100, 430, 130, 0xFF00FF00
a2Box 350, 100, 430, 130, 0xFF000000
guiLabel(GEN_ID, 350, 105, 80, 180, "Player 2", halign, valign, 0xFFFFFFFF)
a2FillBox 450, 100, 530, 130, 0xFFFFFF00
a2Box 450, 100, 530, 130, 0xFF000000
guiLabel(GEN_ID, 450, 105, 80, 180, "Player 3", halign, valign, 0xFF000000)
guiUpdate()
sync
loop
and here's a very basic scoreboard display...
set display mode 800,600,32
sync on
sync rate 0
guiInit()
`*************************************
` This sets up the player data
type myPlayer
name as string
color as DWORD
score as integer
endtype
dim player(4) as myPlayer
for p = 1 to 4
read player(p).name
read player(p).color
read player(p).score
data "Richard", 0xFF0000AA, 100
data "Robert", 0xFFAA0000, 90
data "Rachel", 0xFF00AA00, 80
data "Rambo", 0xFFAA00AA, 70
next p
`*************************************
` This determines where the scoreboard
` is displayed on the screen at the start.
sbX = 100
sbY = 100
`*************************************
do
` Draw a background so we can see the shadow.
cls 0xFFAAAAAA
for x = 0 to 800 step 64
a2Line x,0,x,600,0xFF888888
next x
for y = 0 to 600 step 64
a2Line 0,y,800,y,0xFF888888
next y
` Move the scoreboard, and change the scores.
center text 400,570,"Left-click to move scoreboard, right click to change scores."
if mouseclick() = 1
sbX = mousex()
sbY = mousey()
endif
if mouseclick() = 2
for p = 1 to 4
player(p).score = rnd(999)
next p
endif
` draw the shadow
a2FillBox sbx+10,sbY+10,sbX+160,sbY+130,0x44000000
` Loop through each player and
` display name and score.
for p = 1 to 4
a2FillBox sbX, sbY + ((p - 1) * 30), sbX + 150, sby + (p * 30), player(p).color
a2Box sbX, sbY + ((p - 1) * 30), sbX + 150, sbY + (p * 30), 0xFFFFFFFF
a2Box sbX, sbY + ((p - 1) * 30), sbX + 100, sbY + (p * 30), 0xFFFFFFFF
guiLabel(GEN_ID, sbX + 5, sbY + ((p - 1) * 30) + 5, 100, 30, player(p).name, 0, 0, 0xFFFFFFFF)
guiLabel(GEN_ID, sbX + 105, sbY + ((p - 1) * 30) + 5, 40, 30, str$(player(p).score), 2, 0, 0xFFFFFFFF)
next p
guiUpdate()
sync
loop
Left-click to drag the scoreboard around, right-click to change up the scores.