BCX_RADIO function
Purpose: BCX_RADIO creates a radio control, whose check state is checked and automatically sets the check state for all other buttons in the same group to be cleared.
Syntax: hCtl = BCX_RADIO(Text$, _ hWndParent, _ hCtlID%, _ Xpos%, _ Ypos%, _ Width%, _ Height% _ [,WinStyle%] _ [,ExWinStyle%]) Parameters:
|
Remarks: The default window Style for a BCX_RADIO control also can be changed by using the MODSTYLE function.
Here is a demo program of the BCX_RADIO function.
GUI "RadioGUI" , PIXELS DIM Form1 AS CONTROL DIM Group1 AS CONTROL DIM GroupA AS CONTROL DIM RadioX[6] AS CONTROL DIM Label AS CONTROL DIM TheButton AS CONTROL DIM selitem AS LONG DIM str1$ DIM str2$ SUB FORMLOAD Form1 = BCX_FORM("RadioButtons", 0, 0, 300, 300) Group1 = BCX_GROUP("", Form1, 100, 10, 10, 100, 120, WS_GROUP | WS_CHILD | WS_VISIBLE | BS_GROUPBOX) RadioX[0] = BCX_RADIO("0", Form1, 101, 20, 20, 70, 20) RadioX[1] = BCX_RADIO("1", Form1, 102, 20, 50, 70, 20) RadioX[2] = BCX_RADIO("2", Form1, 103, 20, 80, 70, 20) GroupA = BCX_GROUP("", Form1, 104, 190, 10, 100, 120, WS_GROUP | WS_CHILD | WS_VISIBLE | BS_GROUPBOX) RadioX[3] = BCX_RADIO("3", Form1, 105, 200, 20, 70, 20) RadioX[4] = BCX_RADIO("4", Form1, 106, 200, 50, 70, 20) RadioX[5] = BCX_RADIO("5", Form1, 107, 200, 80, 70, 20) Label = BCX_LABEL("CBCTL", Form1, 108, 100, 200, 100, 20, WS_CHILD | WS_VISIBLE | WS_GROUP | SS_LEFT) TheButton = BCX_BUTTON("Which RadioButtons are checked ?", Form1, 109, 45, 150, 200, 20) SetFocus(RadioX[0]) SHOW(Form1) END SUB BEGIN EVENTS SELECT CASE CBMSG '********************** CASE WM_COMMAND '********************** SELECT CASE CBCTL CASE 101,102,103,105,106,107 BCX_SET_TEXT(Label,str$(CBCTL)) CASE 109 FOR INTEGER i = 0 TO 5 selitem = SendMessage(RadioX[i], BM_GETCHECK,0,0) SELECT CASE selitem CASE BST_CHECKED str1$ = LTRIM$(STR$(i)) str2$ = str2$ & "Radio[" & str1$ & "] is checked !" & CRLF$ END SELECT NEXT i IF str2$ = "" THEN str2$ = "No Radio Jammed !" END IF MSGBOX str2$ str2$ = "" END SELECT '********************** CASE WM_CLOSE '********************** DestroyWindow(Form1) END SELECT END EVENTS