--- In [email protected], "dleidinger" <dleidin...@...> wrote:
>
> Is it possible to set the font of/in the debug-window ? Sometimes
> I would like to switch to a monospaced font like courier.
>
> Best regards Detlef
>
I change the fonts used in the debug, run and script debug windows using a
script that runs when one of the windows opens. The first time a target window
opens, the dialog plugin creates the fonts I use. Then, (and again each time a
target window opens), those fonts are applied to the various elements using
sendmessage's. I have another function to destroy the fonts, which I can call
at will. But normally I just keep reusing the same fonts and keep them alive
throughout a boot session.
See below.
Regards,
Sheri
Function PPFonts(hwin)
if (hwin == "")
hwin=lastautorunhandle
local debugctrls=hwin.childhandlelist
static debugfontlist
if (not vec.exists(debugfontlist)) do
local dialog_status
debugfontlist=vec.create(3)
debugfontlist[0]=dialog.set_font(win.handlefromindex(hWin, 1), ;;+
?#"Consolas" 11.0#)
debugfontlist[1]=dialog.set_font(win.handlefromindex(hWin, 1), ;;+
?x"Arial" 10.0x)
debugfontlist[2]=dialog.set_font(win.handlefromindex(hWin, 1), ;;+
?x"Arial" 9.0x)
wait.for(10)
dialog.unload
endif
For each word debugitem index i in debugctrls
if (hwin.caption == "PowerPro Debug") do
if (debugitem.class=="button") do ;;?#"Arial" 10.0#
win.sendmessage(debugitem, 48, debugfontlist[1], 1)
elseif (debugitem.class=="edit") ;;?#"Verdana" 11.0#
win.sendmessage(debugitem, 48, debugfontlist[0], 1)
elseif (debugitem.class=="listbox") ;;?x"Verdana" 11.0x
win.sendmessage(debugitem, 48, debugfontlist[0], 1)
elseif (debugitem.class=="Static") ;;?#"Arial" 10.0#
win.sendmessage(debugitem, 48, debugfontlist[1], 1)
endif
elseif (hwin.caption == "PowerPro Run")
if (debugitem.class=="edit") do ;;?#"Verdana" 11.0#
win.sendmessage(debugitem, 48, debugfontlist[0], 1)
elseif (debugitem.class=="combobox") ;;?x"Verdana" 11.0x
local CB_SHOWDROPDOWN = 0x014F
win.sendmessage(debugitem, CB_SHOWDROPDOWN, 1, 0)
win.sendmessage(debugitem, 48, debugfontlist[0], 1)
win.sendmessage(debugitem, CB_SHOWDROPDOWN, 0, 0)
endif
elseif (hwin.caption == "PowerPro Script Debug")
if (debugitem.class=="button") do ;;?#"Arial" 9.0#
win.sendmessage(debugitem, 48, debugfontlist[2], 1)
elseif (debugitem.class=="edit") ;;?#"Arial" 10.0#
win.sendmessage(debugitem, 48, debugfontlist[1], 1)
elseif (debugitem.class=="listbox") ;; ?#"Arial" 10.0#
win.sendmessage(debugitem, 48, debugfontlist[1], 1)
elseif (debugitem.class=="Static") ;;?#"Arial" 9.0#
win.sendmessage(debugitem, 48, debugfontlist[1], 1)
endif
else
win.sendmessage(debugitem, 48, debugfontlist[2], 1);; Arial 9
endif
endfor
quit
Function KillDebugFonts()
local dialog_status
static debugfontlist
if (not vec.exists(debugfontlist)) do
messagebox("OK", "debugfontlist doesn't exist - nothing to destroy")
quit
endif
win.debug("fonthandles to be destroyed:", debugfontlist[0], debugfontlist[1],
debugfontlist[2])
local res = dialog.clear(debugfontlist[0], "hfont")
win.debug("item 0", res)
local res = dialog.clear(debugfontlist[1], "hfont")
win.debug("item 1", res)
local res = dialog.clear(debugfontlist[2], "hfont")
win.debug("item 2", res)
vec.destroy(debugfontlist)
quit