Here is a function lifted directly from one of my games.
function scores_getname()
`get the users name for the highscore table entry
local name as string : local pointer as integer : local last_key as integer
local stop as integer
load image "menuenter.png",70,1
clear entry buffer : last_key = scancode()
repeat
cls 0
if scancode() = 14 and last_key <> scancode() and len(name) > 0 then name = left$((name,len(name)-1))
if asc(entry$()) <> 8 and len(name) < 16 then name = name + entry$()
last_key = scancode()
clear entry buffer
pointer = 225 + text width(name)
paste image 70,200,200
text 220,250,name
line pointer,254,pointer,265
if returnkey() then repeat until returnkey()=0 : stop = 1
until stop = 1
if image exist(70) then delete image 70
clear entry buffer
endfunction name
This is enter.png
http://winch.dbpcommunity.com/temp/enter.png
To use it with that image you need to set the ink colour with ink to black before you call the function so the text will show up.
dbpro : p166mmx @ 233 : 256mb : sb 128pci : sis onboard