Difference between revisions of "The Basics of VB6"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
 
(15 intermediate revisions by one user not shown)
Line 1: Line 1:
 
These notes can be organized later.   
 
These notes can be organized later.   
  
=== Open a Form From Another Form ===
+
=== Select Case (Switch) ===
  
Open the form called frmCompanies
+
CASE in Visual BASIC does not "fall through" like in C.
  frmCompanies.Show
+
Open it so that the parent form cannot be clicked.  To suspend execution of the first form until after the second form is done with, add the keyword constant vbModal as an argument to the Show method.
+
  frmCompanies.Show vbModal
+
The Hide method of a form removes the form from the screen (makes it invisible), but the form still remains in memory.
+
  frmCompanies.Hide
+
  Me.Hide
+
  Hide
+
You can load a form in memory and not display it.
+
  Load frmCompanies
+
Unload form from memory (which also closes it)
+
  Unload Me
+
Example
+
  Private Sub Form_Unload(Cancel As Integer)
+
    If MsgBox("Are you sure you want to quit?", vbYesNo + vbQuestion, "Unload Test") = vbNo Then
+
      Cancel = 1
+
    End If
+
  End Sub
+
  
=== From Dimensions and Twip Units ===
+
  Select Case Button.Key
 +
    Case "ListCache"
 +
      mnuListCache_Click
 +
    Case "Refresh"
 +
      mnuRefresh_Click
 +
    Case "simmode"
 +
      cmdSimMode_Click
 +
  End Select
  
The default unit is the twip, which is 1/1440 of an inch for height, width, top, and left.
+
  Select Case tcpClient.State
 +
    Case 0
 +
      tcpClient.RemoteHost = cboRemoteHost
 +
      SessionConnect
 +
    Case 7
 +
      lblStatus.Caption = "Connected"
 +
    Case 9
 +
      lblStatus.Caption = "Connection Error"
 +
  End Select
  
There are 15 twips per pixel.
+
Case based on more than one condition
  
Pixels to Twip:
+
   Select Case True
   W = W * Screen.TwipsPerPixelX
+
    Case strMessage Like "*OK*" And lblStatus.Caption = "Connected"
  H = H * Screen.TwipsPerPixelY
+
    blnReceivedAll = True
Twips to Pixel:
+
  Case strMessage Like "*OK*" And lblStatus.Caption = "retrieving."
  W = W / Screen.TwipsPerPixelX
+
    lblStatus.Caption = "retrieving.."
   H = H / Screen.TwipsPerPixelY
+
    blnReceivedAll = True
 +
   Case Else
 +
    Set LoopTime = New TimerClass: tmrDisconnect.Enabled = True
 +
  End Select
  
=== Resizing Forms ===
+
=== Public Declarations ===
  
* Width: Specifies the width of the control. The default unit is the twip, which is 1/1440 of an inch.
+
  Public strCurrentTool As String
* Height: Specifies the height of the control. The default unit is the twip, which is 1/1440 of an inch.
+
* Left: Specifies the distance between the internal left edge of a control and the left edge of its containter.The default unit is the twip, which is 1/1440 of an inch.
+
* Top: Specifies the distance between the internal top edge of a control and the top edge of its containter.The default unit is the twip, which is 1/1440 of an inch.
+
<BR>
+
* ScaleWidth: The width of the client area.
+
* ScaleHeight: The height of the client area.
+
* ScaleLeft: Coordinate horizontal of upper left client area.
+
* ScaleTop: Coordinate vertical of upper left client area.
+
<BR>
+
* ClientWidth:
+
* ClientHeight:
+
* ClientLeft:
+
* ClientTop:
+
  
=== TabStrip Control ===
+
Public fMainForm As frmQAB
  
Tabs are not containers! In design time you cannot just select a tab and drop a control on it, assigning a different control to each tab.  It just isn't how tabs work.
+
  Public cn As ADODB.Connection
  
You must trap the click event and determine which tab is being clicked.
+
Public rsCompanies As ADODB.Recordset
  Private Sub TabStrip1_Click()
+
    SelectedTab = TabStrip1.SelectedItem.Index
+
  End Sub
+
  
Setting the default tab
+
Public Const dbtContact = "contact"
  
Private Sub Form_Load()
 
  'default to first tab (note: indexing starts at 1 - this is how control is designed)
 
  TabStrip1.Tabs(1).Selected = True
 
End Sub
 
 
Tabs That Are Containers:
 
 
If you wish to use tabs that are containers, look at SStab, which is in the component Microsoft Tabbed Dialog Control 6.0 (SP5). The .OCX is TABCTL32.ocx.
 
  
 
&nbsp;
 
&nbsp;

Latest revision as of 10:55, 2 February 2008

These notes can be organized later.

Select Case (Switch)

CASE in Visual BASIC does not "fall through" like in C.

 Select Case Button.Key
   Case "ListCache"
     mnuListCache_Click
   Case "Refresh"
     mnuRefresh_Click
   Case "simmode"
     cmdSimMode_Click
 End Select
 Select Case tcpClient.State
   Case 0
     tcpClient.RemoteHost = cboRemoteHost
     SessionConnect
   Case 7
     lblStatus.Caption = "Connected"
   Case 9
     lblStatus.Caption = "Connection Error"
 End Select

Case based on more than one condition

 Select Case True
   Case strMessage Like "*OK*" And lblStatus.Caption = "Connected"
   blnReceivedAll = True
 Case strMessage Like "*OK*" And lblStatus.Caption = "retrieving."
   lblStatus.Caption = "retrieving.."
   blnReceivedAll = True
 Case Else
   Set LoopTime = New TimerClass: tmrDisconnect.Enabled = True
 End Select

Public Declarations

Public strCurrentTool As String
Public fMainForm As frmQAB
Public cn As ADODB.Connection
Public rsCompanies As ADODB.Recordset
Public Const dbtContact = "contact"