DotNetFactory interface functions (3) – Create TextBox
Parent page: Service Functions – DotNetFactory (QTP, VBScript)
Creating .NET objects from VBScript/QTP
You can create a TextBox (single-line Text Input object) and assign required properties within one line by calling the function below. The function has only optional parameters provided in the Dictionary object.
Currently supported optional parameters:
TextBox Width and Height.
TextBox Coordinates – Left, Top.
- p.text – Text displayed by default
- p.length – Max number of input characters
- p.masked – If input needs to be secured (e.g. password textbox).
- p.readonly – If editing is not allowed.
Note. You may code as many optional parameters as required. Just follow the established syntax and keep in mind that parameter index for Dictionary must be unique – otherwise it will overwrite the previous parameter.
References
For the complete .NET TextBox Class reference please visit:
http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox(VS.80).aspx
Used resources
Service Functions – String (QTP, VBScript)
Implementing optional and default parameters
Create TextBox
Public Function CreateTextBox(ByVal objParameter) Dim intLength Dim sText, intWidth, intHeight, intMaxLength, boolMasked, boolReadOnly Dim intLeft, intTop Dim objTextBox 'Verify parameters If TypeName (objParameter) <> "Dictionary" Then Set objParameter = CreateObject("Scripting.Dictionary") End If sText = objParameter.Item("p.text") intLength = Len(sText) If intLength = 0 Then intLength = 100 Else intLength = (intLength + 6)*10 End If intWidth = InitLong(objParameter.Item("p.width"), intLength) intHeight = InitLong(objParameter.Item("p.height"), 20) intLeft = IntVal(objParameter.Item("p.left")) intTop = IntVal(objParameter.Item("p.top")) intMaxLength = InitLong(objParameter.Item("p.length"), 255) boolMasked = InitBool(objParameter.Item("p.masked"), FALSE) boolReadOnly = InitBool(objParameter.Item("p.readonly"), FALSE) Set objTextBox = DotNetFactory.CreateInstance("System.Windows.Forms.TextBox", "System.Windows.Forms") objTextBox.Text = sText objTextBox.Width = intWidth objTextBox.Height = intHeight objTextBox.Left = intLeft objTextBox.Top = intTop objTextBox.Multiline = FALSE objTextBox.MaxLength = intMaxLength If boolMasked Then objTextBox.UseSystemPasswordChar = TRUE End If objTextBox.ReadOnly = boolReadOnly Set CreateTextBox = objTextBox End Function
Examples
Set objInputUserID = CreateTextBox(AssociateParameters("p.left = 25, p.top = 100")) Set objInputPassword = CreateTextBox(AssociateParameters("p.left = 25, p.top = 150, p.masked = Yes"))