Floating an Edit Box

Floating an Edit Box

To minimize the number of controls on my forms, I use a text box as a floating input control that I either overlay onto a grid or swap with a label. Here is my swap subroutine:

 Public Sub SwapControls(cHide As Control, _	cShow As Control, Optional Value)	With cHide		.Visible = False		cShow.Move .Left, .Top, .Width, .Height	End With	If IsMissing(Value) Then		If TypeOf cShow Is TextBox Or _			TypeOf cShow Is Label Then				cShow = cHide		End If	Else		cShow = Value	End If	With cShow		.Visible = True		.ZOrder		If TypeOf cShow Is TextBox Then			.SelStart = 0			.SelLength = Len(cShow)			If .Visible Then				.SetFocus			End If		End If	End WithEnd Sub

When I enter the statement “SwapControls lblData, txtData,” lblData disappears and txtData appears in its place with the value of lblData selected and the focus set to it. After you make your entry, execute the statement “SwapControls txtData, lblData.”


Share the Post: