#DefineSubroutine HlpProc(i_handle, i_event, i_num, i_reserved1, i_reserved2) IntControl(72, 2, 0, 0, 0) i_return =-1 switch i_event case 0 ;init dialogprocoptions(i_handle, 2, 1); watch pushbuttons s_win =WinGetActive() SendKeysTo(s_win, "^{Home}") Break case 2 ;pushbutton pressed WinClose(WinGetActive()) Return -2 Break EndSwitch ;:Cancel ;IntControl(72, 2, 0, 0, 0) ;Return Return i_return #EndSubroutine #DefineFunction HelpWindow(s_caption, s_help) HlpFormat ="WWWDLGED,6.1" HlpCaption =s_caption HlpX =-1 HlpY =-1 HlpProcedure ="HlpProc" HlpFont ="Default" HlpTextColor ="Default" HlpBackground ="Default,Default" s_num ="000" x =0 y =0 w =0 h =0 xMax =0 yMax =0 s_num =StrFixLeft((1 +s_num), '0', 3) x =7 y =7 s_text =s_help s_text ="" w=200 h =200 s_control ="MultiLineBox" s_var ="s_help" s_value ="Default" s_style ="8" ;ReadOnly xMax =Max(xMax, (x +w)) yMax =Max(yMax, (y +h)) ;Hlp%s_num% =`%x%, %y%, %w%, %h%, %s_control%, %s_var%, "%s_text%", %s_value%, Default, %s_style%, Default, Default, Default` Hlp%s_num% =StrCat(x, `,`, y, `,`, w, `,`, h, `,`, s_control, `,`, s_var, `,"`, s_text, `",`, s_value, `,Default,`, s_style, `,Default, Default, Default`) s_num =StrFixLeft((1 +s_num), '0', 3) x =7 +95 y =y +h +7 s_text ="OK" w =StrLen(s_text) *5 h =14 s_control ="PushButton" s_var ="Default" s_value =0 s_style ="32" xMax =Max(xMax, (x +w)) yMax =Max(yMax, (y +h)) ;Hlp%s_num% =`%x%, %y%, %w%, %h%, %s_control%, %s_var%, "%s_text%", %s_value%, Default, %s_style%, Default, Default, Default` Hlp%s_num% =StrCat(x, `,`, y, `,`, w, `,`, h, `,`, s_control, `,`, s_var, `,"`, s_text, `",`, s_value, `,Default,`, s_style, `,Default, Default, Default`) HlpWidth =xMax +7 HlpHeight =yMax +7 HlpNumControls =s_num HlpButton =Dialog("Hlp") #EndFunction s_caption ="Help Window" s_body =FileGet("c:\jsx\jsx.txt") s_file ="c:\sayfile\pbwin.txt" s_body =FileGet(s_file) HelpWindow(s_caption, s_body) message("done!", "")