BCX_FORM function
Purpose: BCX_FORM creates a window.
Note well: When using BCX_FORM
without
GUI "Classname"
a ClassName must be provided by using
BCX_CLASSNAME$ = "SomeClassName"
prior to initialization.
Syntax: hWnd = BCX_FORM([Caption$] _ [,Xpos%] _ [,Ypos%] _ [,Width%] _ [,Height%] _ [,WinStyle%] _ [,ExWinStyle%]) Parameters:
|
Example 1 :
Form1 = BCX_FORM()
Example 2 :
Form1 = BCX_FORM("My Form")
Example 3 :
Form1 = BCX_FORM("My Form", 0, 0, 310, 250)
Example 4 :
Form1 = BCX_FORM("My Form", 0, 0, 100, 100, WS_CAPTION | WS_SYSMENU)
Remarks: In Examples 1, 2 and 3 the default style used is
WS_MINIMIZEBOX | WS_SIZEBOX | WS_CAPTION | WS_MAXIMIZEBOX | WS_POPUP | WS_SYSMENU.
The default window Style for a BCX_FORM control also can be changed by using the MODSTYLE function.
Example 5 : This example shows how to use GUI NOMAIN with BCX_FORM
BCX_RESOURCE
123
ICON
"bcx.ico"
GUI
NOMAIN
,ICON
,123
DIM
FooBlooAS
HACCELFUNCTION
WINMAINGLOBAL
Form1AS
HWNDBCX_SETMETRIC
(
"DialogUnits"
)
BCX_REGWND
(
"MAINFORM"
, form1Proc)
Form1=
BCX_FORM
(
"BCX_TEMPLATE"
,0
,0
,110
,110
)
BCX_SET_FORM_COLOR
(
Form1,QBCOLOR
(
31
)
)
CENTER
(
Form1)
SHOW
(
Form1)
FUNCTION
=
BCX_MSGPUMP
(
FooBloo)
END
FUNCTION
BEGIN
EVENTS
form1ProcSELECT
CASE
CBMSG
CASE
WM_KEYDOWNSELECT
CASE
wParamCASE
VK_HOMEMSGBOX
"VK_HOME"
CASE
VK_ENDMSGBOX
"VK_END"
CASE
VK_NEXTMSGBOX
"VK_NEXT"
CASE
VK_PRIORMSGBOX
"VK_PRIOR"
CASE
VK_DOWNMSGBOX
"VK_DOWN"
CASE
VK_UPMSGBOX
"VK_UP"
CASE
VK_LEFTMSGBOX
"VK_LEFT"
CASE
VK_RIGHTMSGBOX
"VK_RIGHT"
CASE
VK_RETURNMSGBOX
"VK_RETURN"
END
SELECT
CASE
WM_CLOSE DestroyWindow(
Form1)
END
SELECT
END
EVENTS
MAIN
Example 6 : This example shows how to set up two forms in SUB FORMLOAD. The trick involves:
GUI
"Two_Forms_Demo"
GLOBAL
Form1AS
HWNDGLOBAL
Form2AS
HWNDGLOBAL
Form1_Button1AS
HWNDGLOBAL
Form2_Button1AS
HWNDGLOBAL
lpForm2_ProcAS
WNDPROCCONST
IDC_FORM1_BUTTON1=
201
CONST
IDC_FORM2_BUTTON1=
202
SUB
FormLoad Form1=
BCX_FORM
(
"Form 1"
,0
,0
,160
,100
)
Form1_Button1=
BCX_BUTTON
(
"Show"
, Form1, IDC_FORM1_BUTTON1,64
,40
,40
,14
)
Form2=
BCX_FORM
(
"Form 2"
,0
,0
,200
,140
)
Form2_Button1=
BCX_BUTTON
(
"Hide"
,Form2, IDC_FORM2_BUTTON1,80
,70
,40
,14
)
lpForm2_Proc=
SubclassWindow(
Form2, Form2_Proc)
CENTER
(
Form1)
SHOW
(
Form1)
END
SUB
BEGIN
EVENTS
SELECT
CASE
CBMSG
'**********************
CASE
WM_COMMAND'**********************
IF
CBCTL
=
IDC_FORM1_BUTTON1THEN
CENTER
(
Form2)
SHOW
(
Form2)
END
IF
EXIT
FUNCTION
'**********************
CASE
WM_CLOSE'**********************
DIM
RAW
id id=
MSGBOX
(
"Are you sure?"
,"Close Window!"
,MB_YESNOOR
MB_ICONQUESTION)
IF
idTHEN
PostQuitMessage(
0
)
EXIT
FUNCTION
'**********************
CASE
WM_DESTROY'**********************
PostQuitMessage(
0
)
EXIT
FUNCTION
END
SELECT
END
EVENTS
CALLBACK
FUNCTION
Form2_ProcSELECT
CASE
CBMSG
'**********************
CASE
WM_COMMAND'**********************
IF
CBCTL
=
IDC_FORM2_BUTTON1THEN
HIDE
(
CBHWND
)
EXIT
FUNCTION
'**********************
CASE
WM_CLOSE'**********************
HIDE
(
CBHWND
)
'Don't CLOSE it, HIDE it
EXIT
FUNCTION
'**********************
CASE
WM_DESTROY'Don't DESTROY it, HIDE it
'**********************
HIDE
(
CBHWND
)
END
SELECT
END
FUNCTION
For another example of the BCX_FORM function see Demo.bas in the BCX\Gui_Demo\EZ_Gui folder.