Alan,

Your dialog.dll is very^10 nice!

I noticed that you didn't close the hDlg in your modeless example in
"dialogPluginTest1.powerpro" dialog.version= 0037

Although the following works, you may be able to develop a better
method...  Eg, Save the handle during hDlg.Create or hDlg.Run and
Pass the handle as you do for: sUserArg, hDlg, iCtrlNo, wMsg, lParam
to the function the user defines in DIALOG.define.



CloseModelessDlg.powerpro

@Start
DIALOG.error_dialog_on()

LOCAL pro= WIN.Exepath("="++ ;;+
IfElse(INDEX(pprofolder,"PowerPrX"), "PowerPrX", "PowerPro"))

LOCAL capDialog= scriptname++ " Default positioning"
LOCAL iDlgCnt= WORD(WIN.Handlelist(REPLACECHARS(capDialog,;;+
",,", ",")++ "*", 1), 0)
capDialog= capDialog++ If(iDlgCnt, "  [ "++ iDlgCnt++ " ]")

LOCAL hDlg= DIALOG.define(0,  0,  275,  255, capDialog, ;;+
"sysmenu centre minbox", "" , "", "", ;;+
cb(?#Quit("WM_CLOSE")#), pro, 7, 35)

DEBUG
DEBUG ##########
WIN.debug("hDlg="++ hDlg++ "dialog_status: "++ ;;+
dialog_status++ "  ."++ scriptname++ "@Start")

IF(NOT hDlg)
QUIT

hDlg.define_control( 200, 235, 60, 15, ;;+
"button", "btQuit", "&Quit", "", ;;+
cb("Quit"), "", "", "", "", "cancel")

hDlg.Create(0)      ;; hDlg.Create(0) modeless dialog

/*
hDlg.Create(1) modal dialog, stops running creating script
until dialog closes.
*/

hDlg.Run("foreground")

capDialog= REPLACECHARS(capDialog, ",,", ",")

EVENT.Create(5, 0, "EVENT.Destroythis"++ ;;+
ESC(?"\n", ?"\")++ ;;+
cb(?#DestroyHandle("#++ hDlg++ ?#")#), ;;+
?#NOT ANYWINDOW("#++ capDialog++ ??")?)

WIN.Show(capDialog)

DEBUG Finished modeless dialog @Start
QUIT



@Quit

ARGS sUserArg, hDlg, iCtrlNo, wMsg, lParam

WIN.Debug(IfElse(sUserArg=="WM_CLOSE", ;;+
"WM_CLOSE  [ @Quit ]", "QUIT BUTTON PRESSED  [ @Quit ]"))

WIN.debug(?#sUserArg, hDlg, iCtrlNo, wMsg, lParam=#++ ;;+
sUserArg, hDlg, iCtrlNo, wMsg, lParam++ ;;+
?#  .#++ scriptname++ [EMAIL PROTECTED])

IF(sUserArg!="WM_CLOSE" && hDlg!="")
DIALOG.Destroy_window(hDlg)

QUIT All



@DestroyHandle

ARGS hDlg
WIN.Debug("XXXXXXXXXX")
WIN.Debug("hDlg="++ hDlg++ ?#  .#++ scriptname++ ;;+
[EMAIL PROTECTED])

WAIT.For(100)
hDlg= DIALOG.Destroy(hDlg)
QUIT



Ted







Attention: PowerPro's Web site has moved: http://www.ppro.org



SPONSORED LINKS
Computer monitoring software Power pro Computer and internet software
Free computer monitoring software


YAHOO! GROUPS LINKS




Reply via email to