--- 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



Reply via email to