Left
Horizontal position in device-independent points, relative to the parent container.
Range: -100000 to 100000.
Separate navigation and detail with a movable splitter.
The splitter belongs to the container, not to either pane’s content. Use SplitterMoved to observe a completed layout change. Check the minimum practical size of each pane so moving the divider does not make a task impossible.
Add SplitContainer to its intended parent and name it splitMain for this example:
| Property | Example value |
|---|---|
Orientation | "Horizontal" |
Ratio | 0.42 |
SplitterWidth | 6 |
FirstPaneMinSize | 120 |
SecondPaneMinSize | 160 |
IsSplitterFixed | False |
FixedPane | "None" |
FirstPaneCollapsed | False |
SecondPaneCollapsed | False |
A complete handler from Forms/frmMain.bas. The linked lesson includes its surrounding controls, declarations and helpers.
Private Sub splitMain_SplitterMoved()
staStatus.Text = "Splitter moved — ratio " & CStr(splitMain.Ratio) & ", position " & CStr(splitMain.SplitterPosition)
End SubContract defaults are shown below. Where a new control has a different Designer starting value, that value is listed separately.
LeftHorizontal position in device-independent points, relative to the parent container.
Range: -100000 to 100000.
TopVertical position in device-independent points, relative to the parent container.
Range: -100000 to 100000.
WidthSplitContainer width in device-independent points.
Range: 0 to 100000.
HeightSplitContainer height in device-independent points.
Range: 0 to 100000.
MinWidthMinimum control width in device-independent points; 0 lets the parent layout choose.
Range: 0 to 100000.
MinHeightMinimum control height in device-independent points; 0 lets the parent layout choose.
Range: 0 to 100000.
MaxWidthMaximum control width in device-independent points.
Range: 0 to 100000.
MaxHeightMaximum control height in device-independent points.
Range: 0 to 100000.
TabIndexKeyboard navigation order within the parent container; lower values come first.
Range: 0 to 100000.
ZIndexStacking order among sibling controls; larger values appear in front. Equal values preserve document order.
Range: -100000 to 100000.
AnchorEdges kept at their authored distance when the parent resizes. Use a comma-separated combination of Left, Top, Right and Bottom; Dock overrides the effective anchor without deleting it.
DockAutomatic placement within the parent: None, Left, Top, Right, Bottom or Fill. Dock overrides effective Anchor layout without deleting the stored anchors.
MarginExternal spacing as one non-negative DIP value or Left,Top,Right,Bottom.
VisibleWhether the container is shown in the running application.
BackColorContainer background color as #RRGGBB. Empty uses the current theme background.
PaddingInner spacing as one non-negative DIP value or Left,Top,Right,Bottom; child coordinates remain relative to the padded content area.
AccessibleNameName announced by assistive technology. Empty uses the stable control Name.
CursorPointer shown over the control: Default, Arrow, Hand, IBeam, Cross, Wait, Help, SizeAll, SizeNS, SizeWE, SizeNWSE, SizeNESW or NotAllowed.
OpacityVisual opacity from 0 (transparent) to 1 (opaque).
Range: 0 to 1.
DesignLockedPrevents movement and resizing in the Designer without changing runtime interaction.
AccessibleDescriptionAdditional help text announced by assistive technology.
AccessibleRoleAccessibility role override. Auto preserves the native semantic role; explicit values use the corresponding platform automation role.
AutomationIdStable automation identifier; empty uses the component Name.
ToolTipTextHelp text shown when the pointer rests over the running control; empty disables the tooltip.
TagApplication-defined text associated with this control; McBasic™ does not interpret it.
EnabledWhether children in the container accept user interaction.
HitTestVisibleWhether the running control participates in pointer hit testing. The control remains selectable in the Designer.
AllowDropWhether this running control accepts application drag-and-drop operations; Designer movement is separate.
DragModeVB control drag: 0 Manual (code starts a drag with the Drag method) or 1 Automatic (a left-button press starts a drag, and the control raises no Click, MouseDown or MouseUp for that press).
Range: 0 to 1.
DragIconCase-insensitive name of a declared project image resource shown under the pointer while this control is dragged; empty shows a grey outline of the control.
OrientationPane direction: Horizontal places panes left and right; Vertical places panes above and below.
RatioInitial first-pane share of the available space; must remain between 0.05 and 0.95.
Range: 0.05 to 0.95.
SplitterWidthInteractive splitter thickness in device-independent points.
Range: 1 to 64.
FirstPaneMinSizeMinimum width or height of the first pane along the split axis.
Range: 0 to 100000.
SecondPaneMinSizeMinimum width or height of the second pane along the split axis.
Range: 0 to 100000.
IsSplitterFixedWhen true, keeps the authored split ratio and disables user dragging of the splitter.
FixedPanePane whose absolute size remains stable when the SplitContainer is resized: None, First or Second.
SplitterPositionCurrent leading-edge splitter position in device-independent points. Set Ratio to move the splitter programmatically.
Range: 0 to 100000.
FirstPaneCollapsedCollapses the first pane and gives the second pane all available space; both panes cannot be collapsed together.
SecondPaneCollapsedCollapses the second pane and gives the first pane all available space; both panes cannot be collapsed together.
IndexPosition of this control in its control array, 0 to 32767. Several controls share one name only when every one of them has an Index. Absent from the layout, and -1 in code, when the control is not in an array.
Designer values: 0 to 32767. Clear the dedicated Index row for a non-array control; BASIC then reads -1.
Replace control with the object’s Name when creating a handler. ByRef arguments may be changed by your handler; ByVal arguments report an input value.
Occurs after the user finishes moving the splitter.
Private Sub control_SplitterMoved()No parameters.
Occurs when runtime drag data enters this control; set Effect to Copy, Move, Link or None.
Private Sub control_DragEnter(ByVal Data As DragData, ByRef Effect As DragEffect, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Data | DragData | ByVal |
Effect | DragEffect | ByRef |
X | Double | ByVal |
Y | Double | ByVal |
Occurs while runtime drag data moves over this control; Effect may be updated for the current position.
Private Sub control_DragOver(ByVal Data As DragData, ByRef Effect As DragEffect, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Data | DragData | ByVal |
Effect | DragEffect | ByRef |
X | Double | ByVal |
Y | Double | ByVal |
Occurs while a control dragged inside the app (DragMode or the Drag method) moves over this control: State is 0 when it enters, 2 while it moves over and 1 when it leaves; Source is the dragged control and X, Y are local DIP coordinates.
Private Sub control_DragOver(ByVal Source As Control, ByVal X As Single, ByVal Y As Single, ByVal State As Integer)| Parameter | Type | Direction |
|---|---|---|
Source | Control | ByVal |
X | Single | ByVal |
Y | Single | ByVal |
State | Integer | ByVal |
Occurs when runtime drag data leaves this control without a drop.
Private Sub control_DragLeave()No parameters.
Occurs when runtime drag data is dropped on this control with a stable McBasic™ effect and local DIP coordinates.
Private Sub control_Drop(ByVal Data As DragData, ByVal Effect As DragEffect, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Data | DragData | ByVal |
Effect | DragEffect | ByVal |
X | Double | ByVal |
Y | Double | ByVal |
Occurs when a control dragged inside the app (DragMode or the Drag method) is released over this control; Source is the dragged control and X, Y are local DIP coordinates.
Private Sub control_DragDrop(ByVal Source As Control, ByVal X As Single, ByVal Y As Single)| Parameter | Type | Direction |
|---|---|---|
Source | Control | ByVal |
X | Single | ByVal |
Y | Single | ByVal |
Occurs when a pointing-device button is pressed over this control; Button is stable McBasic™ identity and X/Y are control-local DIP coordinates.
Private Sub control_MouseDown(ByVal Button As MouseButton, ByVal Shift As KeyModifiers, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Button | MouseButton | ByVal |
Shift | KeyModifiers | ByVal |
X | Double | ByVal |
Y | Double | ByVal |
Occurs when a pointing-device button is released for this control; Button is stable McBasic™ identity and X/Y are control-local DIP coordinates.
Private Sub control_MouseUp(ByVal Button As MouseButton, ByVal Shift As KeyModifiers, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Button | MouseButton | ByVal |
Shift | KeyModifiers | ByVal |
X | Double | ByVal |
Y | Double | ByVal |
Occurs when the pointer moves over the logical McBasic™ control; Button contains the currently held buttons and X/Y are local DIP coordinates.
Private Sub control_MouseMove(ByVal Button As MouseButtons, ByVal Shift As KeyModifiers, ByVal X As Double, ByVal Y As Double)| Parameter | Type | Direction |
|---|---|---|
Button | MouseButtons | ByVal |
Shift | KeyModifiers | ByVal |
X | Double | ByVal |
Y | Double | ByVal |
Occurs once when the pointer enters the effective bounds of the logical McBasic™ control.
Private Sub control_MouseEnter()No parameters.
Occurs once when the pointer leaves the effective bounds of the logical McBasic™ control.
Private Sub control_MouseLeave()No parameters.
Occurs when native system timing recognizes a primary-button double activation on the same logical McBasic™ control.
Private Sub control_DoubleClick()No parameters.
No methods are declared in this component’s built-in metadata. Use its documented properties and events; do not infer APIs from a similarly named control in another framework.
20f4bfed6b · Build manifest