📄 ch29.htm
字号:
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Index</font></tt> </td>
<td WIDTH="166">7</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">720</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">1920</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"><tt><font FACE="Courier">CommandButton</font></tt> </td>
<td WIDTH="138"><tt><font FACE="Courier">Name</font></tt></td>
<td WIDTH="166">cmdKey</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Font</font></tt> </td>
<td WIDTH="166">MS Sans Serif, 10pt Bold</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Caption</font></tt> </td>
<td WIDTH="166">9</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Height</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Index</font></tt> </td>
<td WIDTH="166">8</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">1320</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">1920</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"><tt><font FACE="Courier">CommandButton</font></tt> </td>
<td WIDTH="138"><tt><font FACE="Courier">Name</font></tt></td>
<td WIDTH="166">cmdKey</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Caption</font></tt> </td>
<td WIDTH="166">*</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Font</font></tt> </td>
<td WIDTH="166">MS Sans Serif, 10pt Bold</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Height</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Index</font></tt> </td>
<td WIDTH="166">9</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">120</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">2460</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"><tt><font FACE="Courier">CommandButton</font></tt> </td>
<td WIDTH="138"><tt><font FACE="Courier">Name</font></tt></td>
<td WIDTH="166">cmdKey</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Font</font></tt> </td>
<td WIDTH="166">MS Sans Serif, 10pt Bold</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Caption</font></tt> </td>
<td WIDTH="166">0</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Height</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Index</font></tt> </td>
<td WIDTH="166">10</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">720</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">2460</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"><tt><font FACE="Courier">CommandButton</font></tt> </td>
<td WIDTH="138"><tt><font FACE="Courier">Name</font></tt></td>
<td WIDTH="166">cmdKey</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Font</font></tt> </td>
<td WIDTH="166">MS Sans Serif, 10pt Bold</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Caption</font></tt> </td>
<td WIDTH="166">#</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Height</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Index</font></tt> </td>
<td WIDTH="166">11</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">1320</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">2460</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"><tt><font FACE="Courier">CommandButton</font></tt> </td>
<td WIDTH="138"><tt><font FACE="Courier">Name</font></tt></td>
<td WIDTH="166">cmdDial</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Caption</font></tt> </td>
<td WIDTH="166">Direct Dial</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Font</font></tt> </td>
<td WIDTH="166">Arial, 10pt Bold</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Height</font></tt> </td>
<td WIDTH="166">450</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Left</font></tt> </td>
<td WIDTH="166">120</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Top</font></tt> </td>
<td WIDTH="166">3000</td>
</tr>
<tr>
<td WIDTH="167"> </td>
<td WIDTH="138"><tt><font FACE="Courier">Width</font></tt> </td>
<td WIDTH="166">1635</td>
</tr>
</table>
</center></div>
<p>Now that the form controls have been placed, there are six form events that need to be
coded and two form-level variables that must be declared. Open the code window of the form
and add the code in Listing 29.10 in the general declaration area. </p>
<hr>
<blockquote>
<b><p>Listing 29.10. Declaring the form-level variables for <tt><font FACE="Courier">frmTeleBook</font></tt>.
<br>
</b></p>
</blockquote>
<blockquote>
<tt><font FACE="Courier"><p>Option Explicit<br>
<br>
'<br>
' form level vars<br>
'<br>
Dim nWidth As Integer<br>
Dim nHeight As Integer</font></tt> </p>
</blockquote>
<hr>
<p>Next add the code for the <tt><font FACE="Courier">Form_Load</font></tt> event of the
form (see Listing 29.11). If you are not saving the code in the same directory that
contains the <tt><font FACE="Courier">TELEBOOK.MDB</font></tt> database, you need to
modify the line that sets the <tt><font FACE="Courier">Data1.DatabaseName</font></tt>
property to point to the directory that contains the database. </p>
<hr>
<blockquote>
<b><p>Listing 29.11. Coding the <tt><font FACE="Courier">Form_Load</font></tt> event.<br>
</b></p>
</blockquote>
<blockquote>
<tt><font FACE="Courier"><p>Private Sub Form_Load()<br>
nWidth = Me.Width<br>
nHeight = Me.Height<br>
Data1.DatabaseName = App.Path + "\telebook.mdb" <br>
Data1.RecordSource = "MasterList" <br>
frmTBLog.Data1.DatabaseName = App.Path + "\telebook.mdb"<br>
frmTBLog.Data1.RecordSource = "PhoneLog" <br>
End Sub</font></tt> </p>
</blockquote>
<hr>
<p>The first two lines of code in Listing 29.11 store the form's initial width and height.
This will be used in the resize event to override users who attempt to resize the form.
This could be done by setting the form's <tt><font FACE="Courier">BorderStyle</font></tt>
property to something other than 2 (Sizable). However, other styles do not allow the
minimize button to appear. Because we want to allow users to minimize the <tt><font
FACE="Courier">TeleBook</font></tt> (to keep it handy!), we'll use this workaround to
prevent users from resizing the form. </p>
<p>Listing 29.12 shows the code for the <tt><font FACE="Courier">Form_Resize</font></tt>
event that uses the variables we are talking about. Add this code to the main form. </p>
<hr>
<blockquote>
<b><p>Listing 29.12. Adding the <tt><font FACE="Courier">Form_Resize</font></tt> event
code.<br>
</b></p>
</blockquote>
<blockquote>
<tt><font FACE="Courier"><p>Private Sub Form_Resize()<br>
'<br>
' override resizing<br>
'<br>
If Me.WindowState <> vbMinimized Then<br>
Me.Width = nWidth <br>
Me.Height = nHeight <br>
'<br>
Me.Left = (Screen.Width - Me.Width) / 2<br>
Me.Top = (Screen.Height - Me.Height) / 2<br>
'<br>
End If<br>
'<br>
End Sub</font></tt> </p>
</blockquote>
<hr>
<p>The main code for the <tt><font FACE="Courier">TeleBook</font></tt> form is contained
in the <tt><font FACE="Courier">cmdBtn_Click</font></tt> event. This is where all the
command button clicks are handled. Listing 29.13 shows the code needed to handle the <tt><font
FACE="Courier">Add</font></tt>, <tt><font FACE="Courier">Edit</font></tt>, <tt><font
FACE="Courier">Delete</font></tt>, <tt><font FACE="Courier">Call</font></tt>, <tt><font
FACE="Courier">Log</font></tt>, and <tt><font FACE="Courier">Exit</font></tt> buttons for
the form. </p>
<div align="center"><center>
<table BORDERCOLOR="#000000" BORDER="1" WIDTH="80%">
<tr>
<td><b>Note</b></td>
</tr>
<tr>
<td><blockquote>
<p>This routine contains calls to four support routines (<tt><font FACE="Courier">ClearRec</font></tt>,
<tt><font FACE="Courier">SaveRec</font></tt>, <tt><font FACE="Courier">LoadRec</font></tt>,
and <tt><font FACE="Courier">CallRec</font></tt>). You'll build these routines as the last
step in the project. If you attempt to run the program before you build these routines,
you'll get an error message. </p>
</blockquote>
</td>
</tr>
</table>
</center></div>
<hr>
<blockquote>
<b><p>Listing 29.13. Coding the <tt><font FACE="Courier">cmdBtn_Click</font></tt> event.<br>
</b></p>
</blockquote>
<blockquote>
<tt><font FACE="Courier"><p>Private Sub cmdBtn_Click(Index As Integer) <br>
'<br>
' handle button selection<br>
'<br>
Dim cName As String<br>
Dim nAns As Integer<br>
Dim lReturn As Boolean<br>
'<br>
Select Case Index<br>
&
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -