While I know how to make a control appear and disappear on an xdialog, is it possible to get a control to appear instead of another control? Example: If the user selects credit card I want the credit card boxes to appear. If the user selects cheque I want the cheque details boxes to appear but in the same place as that credit card boxes would have been. Basically, I want to be able to manipulate the position of the controls at runtime.
My intent would also be to manipulate the size of the xdialog based on the same criteria
Here the script I am currently working with
My intent would also be to manipulate the size of the xdialog based on the same criteria
Here the script I am currently working with
DIM form_name as C
if is_object(topparent.this) then
form_name = topparent.name()+".this"
else
form_name = ""
end if
DIM SHARED dat1 as D
DIM SHARED Item as C
DIM SHARED paytpe as C
DIM SHARED cost as C
DIM SHARED qty1 as N
DIM SHARED Tot1 as C
DIM SHARED GST2 as C
DIM SHARED tot2 as C
dim mynum as c
dim tot3 as n
dim tot4 as n
dim ccn as c
dim ccex1 as c
dim ccex2 as c
dim ccname as c
DIM SHARED varC_resultac as C
dim gstrate as c
paytype = "Direct Deposit"
gstrate = "Current GST rate = " + GST + "%"
DELETE expression_result
expression_result = eval("date()",form_name)
dat1 = convert_type(expression_result,"D")
Item = ""
cost = ""
qty1 = 1
Tot1 = ""
GST2 = ""
tot2 = ""
ok_button_label = "&OK"
cancel_button_label = "&Cancel"
varC_resultac = ui_dlg_box("Add Charge",<<%dlg%
{region}
{font=Arial,10}
Date:| [%DATE;P=popup.calendar(dtoc(dat1));I=popup.calendar%.17dat1!dat1_*];
Description::|{initial_focus} [%mw%.50,3Item];
;{font=Arial,10}
{font=Arial,10}
Payment amount:|{font=Courier,8} [.20tot2!pay_*];
{font=Arial,10}
{region}Payment Type:{endregion}|
{region} (paytype:Direct Deposit!t1_*)
(paytype:Credit Card!t1_*)
(paytype:Cheque!t1_*)
(paytype:Cash!t1_*){endregion};
{endregion};
{condition=(paytype="credit card")}
{region=a}
Credit Card Number: |[.40ccn];
|[4.ccex1] Expiry Month [4.ccex2] Expiry Year;
|[30.ccname] Card Holder Name
{endregion};
{condition=.t.}
{condition=(paytype="cheque")}
{region=a}
Cheque No: |[.40ccn];
|[30.ccname] Drawer
{endregion};
{condition=.t.}
{line=1,0};
{region}
{font=Arial,10}
<*15=ok_button_label!OK> <15=cancel_button_label!CANCEL>
{endregion};
%dlg%,<<%code%
if left(a_dlg_button,5) = "dat1_" then
if a_dlg_button = "dat1_killfocus" then
dat1 = ctod(dtoc(dat1))
end if
a_dlg_button = ""
end if
if left(a_dlg_button,4) = "pay_" then
if a_dlg_button = "pay_killfocus" then
mynum = str(val(tot2),10,2)
tot2 = mynum
end if
a_dlg_button = ""
end if
if left(a_dlg_button,3) = "t1_" then
if a_dlg_button = "t1_killfocus" then
end if
a_dlg_button = ""
end if
%code%)
if varC_resultac = "CANCEL" .or. varC_resultac = "" then
end
end if
if is_object(topparent.this) then
form_name = topparent.name()+".this"
else
form_name = ""
end if
DIM SHARED dat1 as D
DIM SHARED Item as C
DIM SHARED paytpe as C
DIM SHARED cost as C
DIM SHARED qty1 as N
DIM SHARED Tot1 as C
DIM SHARED GST2 as C
DIM SHARED tot2 as C
dim mynum as c
dim tot3 as n
dim tot4 as n
dim ccn as c
dim ccex1 as c
dim ccex2 as c
dim ccname as c
DIM SHARED varC_resultac as C
dim gstrate as c
paytype = "Direct Deposit"
gstrate = "Current GST rate = " + GST + "%"
DELETE expression_result
expression_result = eval("date()",form_name)
dat1 = convert_type(expression_result,"D")
Item = ""
cost = ""
qty1 = 1
Tot1 = ""
GST2 = ""
tot2 = ""
ok_button_label = "&OK"
cancel_button_label = "&Cancel"
varC_resultac = ui_dlg_box("Add Charge",<<%dlg%
{region}
{font=Arial,10}
Date:| [%DATE;P=popup.calendar(dtoc(dat1));I=popup.calendar%.17dat1!dat1_*];
Description::|{initial_focus} [%mw%.50,3Item];
;{font=Arial,10}
{font=Arial,10}
Payment amount:|{font=Courier,8} [.20tot2!pay_*];
{font=Arial,10}
{region}Payment Type:{endregion}|
{region} (paytype:Direct Deposit!t1_*)
(paytype:Credit Card!t1_*)
(paytype:Cheque!t1_*)
(paytype:Cash!t1_*){endregion};
{endregion};
{condition=(paytype="credit card")}
{region=a}
Credit Card Number: |[.40ccn];
|[4.ccex1] Expiry Month [4.ccex2] Expiry Year;
|[30.ccname] Card Holder Name
{endregion};
{condition=.t.}
{condition=(paytype="cheque")}
{region=a}
Cheque No: |[.40ccn];
|[30.ccname] Drawer
{endregion};
{condition=.t.}
{line=1,0};
{region}
{font=Arial,10}
<*15=ok_button_label!OK> <15=cancel_button_label!CANCEL>
{endregion};
%dlg%,<<%code%
if left(a_dlg_button,5) = "dat1_" then
if a_dlg_button = "dat1_killfocus" then
dat1 = ctod(dtoc(dat1))
end if
a_dlg_button = ""
end if
if left(a_dlg_button,4) = "pay_" then
if a_dlg_button = "pay_killfocus" then
mynum = str(val(tot2),10,2)
tot2 = mynum
end if
a_dlg_button = ""
end if
if left(a_dlg_button,3) = "t1_" then
if a_dlg_button = "t1_killfocus" then
end if
a_dlg_button = ""
end if
%code%)
if varC_resultac = "CANCEL" .or. varC_resultac = "" then
end
end if
Comment