⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch36.htm

📁 MAPI__SAPI__TAPI
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<blockquote>
  <tt><font FACE="Courier"><p>Private Sub Form_Resize()<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' handle form resizing<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;If Me.WindowState &lt;&gt; vbMinimized Then<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListView1.Left = 0<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListView1.Top = tbrMain.Height<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListView1.Width = Me.ScaleWidth<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ListView1.Height = Me.ScaleHeight - 
  tbrMain.Height - StatusBar1.Height<br>
  &nbsp;&nbsp;&nbsp;&nbsp;End If<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>

<h3><b><a NAME="TheControlBuildingCode">The Control Building Code</a></b></h3>

<p>Three of the controls (<tt><font FACE="Courier">listview</font></tt>, <tt><font
FACE="Courier">toolbar</font></tt>, and <tt><font FACE="Courier">statusbar</font></tt>) 
require extensive setup. While this could be done at design time using the custom property 
boxes, it is easier to modify the properties if you build the controls at run-time. </p>

<p>Add a new subroutine called <tt><font FACE="Courier">BuildStatusBar</font></tt> and 
enter the code shown in Listing 36.14. </p>

<hr>

<blockquote>
  <b><p>Listing 36.14. Adding the <tt><font FACE="Courier">BuildStatusBar</font></tt> 
  routine.<br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Public Sub BuildStatusBar()<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' create details of status bar display <br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim I As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;For I = 1 To 4<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StatusBar1.Panels.Add&nbsp;&nbsp; ' Add 
  Panel objects.<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StatusBar1.Panels(I).AutoSize = 
  sbrContents<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Next I<br>
  <br>
  &nbsp;&nbsp;&nbsp;&nbsp;With StatusBar1.Panels<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Item(1).Style = sbrText<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Item(2).Style = sbrCaps ' Caps lock<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Item(3).Style = sbrIns ' insert<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Item(4).Style = sbrDate ' date<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.Item(5).Style = sbrTime ' time<br>
  &nbsp;&nbsp;&nbsp;&nbsp;End With<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;StatusBar1.Panels(1).Text = &quot;Talk Mail&quot; &amp; Space(50)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;StatusBar1.Style = sbrNormal<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>

<p>The code in Listing 36.14 sets up a status bar that will show the status of the <tt><font
FACE="Courier">CAPS</font></tt> and <tt><font FACE="Courier">INS</font></tt> buttons, the 
date and time, and reserve some space for a status message. </p>

<p>Next, add a new subroutine called <tt><font FACE="Courier">BuildListView</font></tt> 
and enter the code shown in Listing 36.15. </p>

<hr>

<blockquote>
  <b><p>Listing 36.15. Adding the <tt><font FACE="Courier">BuildListView</font></tt> 
  routine.<br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Public Sub BuildListView()<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'&nbsp;build list view<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim clmX As ColumnHeader<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim ItmX As ListItem<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim ImgX As ListImage<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set view properties<br>
  &nbsp;&nbsp;&nbsp;&nbsp;ListView1.BorderStyle = ccFixedSingle <br>
  &nbsp;&nbsp;&nbsp;&nbsp;ListView1.View = lvwReport<br>
  &nbsp;&nbsp;&nbsp;&nbsp;ListView1.Sorted = True<br>
  &nbsp;&nbsp;&nbsp;&nbsp;mnuViewItem(3).Checked = True ' show check on menu<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set column headers for detail view<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set clmX = ListView1.ColumnHeaders. _ <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , &quot;Subject&quot;, 
  ListView1.Width * 0.25)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set clmX = ListView1.ColumnHeaders. _ <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , &quot;RecvDate&quot;, 
  ListView1.Width * 0.25)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set clmX = ListView1.ColumnHeaders. _ <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , &quot;From&quot;, ListView1.Width 
  * 0.25)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set large image list control<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstbig.ImageHeight = 32<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstbig.ImageWidth = 32<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set ImgX = imglstbig.ListImages. _<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , LoadPicture(App.Path &amp; 
  &quot;\tmMsg32.ico&quot;))<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set ImgX = imglstbig.ListImages. _<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , LoadPicture(App.Path &amp; 
  &quot;\note32.ico&quot;))<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set small image control<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstsmall.ImageHeight = 16<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstsmall.ImageWidth = 16<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set ImgX = imglstsmall.ListImages. _<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , LoadPicture(App.Path &amp; 
  &quot;\tmMsg16.ico&quot;))<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Set ImgX = imglstsmall.ListImages. _<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , LoadPicture(App.Path &amp; 
  &quot;\note16.ico&quot;))<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' link image and listview<br>
  &nbsp;&nbsp;&nbsp;&nbsp;ListView1.Icons = imglstbig<br>
  &nbsp;&nbsp;&nbsp;&nbsp;ListView1.SmallIcons = imglstsmall<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>

<p>The code in Listing 36.15 performs several tasks. First, columns are defined for the 
detail view. Next, two image controls are initialized for the large and small icon views. 
Finally, those two image controls are bound to the <tt><font FACE="Courier">listview</font></tt> 
control so that the list view knows which icons to use when displaying the contents. </p>

<p>The last of the &quot;build&quot; routines is the <tt><font FACE="Courier">BuildToolBar</font></tt> 
routine. This is the most involved of the three because it contains fourteen buttons (some 
of them separators) with all their icons, tooltips, and keys. Add the new subroutine (<tt><font
FACE="Courier">BuildToolBar</font></tt>) and enter the code shown in Listing 36.16. </p>

<hr>

<blockquote>
  <b><p>Listing 36.16. Adding the <tt><font FACE="Courier">BuildToolBar</font></tt> routine.<br>
  <br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Public Sub BuildToolBar()<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' set up win95 tool bar<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim ImgX As ListImage<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim BtnX As Button<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim tlbrPics(14) As String<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim tlbrKeys(14) As String<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim tlbrTips(14) As String<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim tlbrStyle(14) As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim x As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(1) = &quot;tmStart.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(2) = &quot;tmEnd.ico&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(3) = &quot;tmstart.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(4) = &quot;tmAdrBk.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(5) = &quot;tmScan.ico&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(6) = &quot;tmstart.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(7) = &quot;tmMsg16.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(8) = &quot;tmRead.ico&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(9) = &quot;tmTrash.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(10) = &quot;tmstart.ico&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(11) = &quot;vw-lrgic.bmp&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(12) = &quot;vw-smlic.bmp&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(13) = &quot;vw-list.bmp&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrPics(14) = &quot;vw-dtls.bmp&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(1) = &quot;LOGIN&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(2) = &quot;LOGOUT&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(3) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(4) = &quot;ADDRBOOK&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(5) = &quot;SCANINBOX&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(6) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(7) = &quot;NEWMSG&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(8) = &quot;READMSG&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(9) = &quot;DELETE&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(10) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(11) = &quot;ICONS&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(12) = &quot;SMALLICONS&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(13) = &quot;LISTVIEW&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrKeys(14) = &quot;DETAILS&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(1) = &quot;Log In&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(2) = &quot;Log Out&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(3) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(4) = &quot;Address Book&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(5) = &quot;Scan InBox&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(6) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(7) = &quot;New Msg&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(8) = &quot;Read Msg&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(9) = &quot;Delete Msg&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(10) = &quot;&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(11) = &quot;Icons&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(12) = &quot;Small Icons&quot; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(13) = &quot;List View&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tlbrTips(14) = &quot;Details&quot;<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstToolbar.ImageHeight = 16<br>
  &nbsp;&nbsp;&nbsp;&nbsp;imglstToolbar.ImageWidth = 16<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' fill image list<br>
  &nbsp;&nbsp;&nbsp;&nbsp;For x = 1 To 14<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set ImgX = imglstToolbar.ListImages. _<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Add(, , LoadPicture(App.Path 
  &amp; &quot;\&quot; &amp; tlbrPics(x))) <br>
  &nbsp;&nbsp;&nbsp;&nbsp;Next x<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' fill toolbar<br>
  &nbsp;&nbsp;&nbsp;&nbsp;tbrMain.ImageList = imglstToolbar<br>
  &nbsp;&nbsp;&nbsp;&nbsp;For x = 1 To 14<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set BtnX = tbrMain.Buttons.Add <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BtnX.Key = tlbrKeys(x) <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BtnX.ToolTipText = tlbrTips(x)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If tlbrTips(x) &lt;&gt; &quot;&quot; Then<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BtnX.Style = 
  tbrDefault<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BtnX.Image = x<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Else<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;BtnX.Style = 
  tbrSeparator<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Next x<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>
<div align="center"><center>

<table BORDERCOLOR="#000000" BORDER="1" WIDTH="80%">
  <tr>
    <td><b>Note</b></td>
  </tr>
  <tr>
    <td><blockquote>
      <p>This routine refers to several icon files. These icons can be found on the CD-ROM that 
      ships with this book. They should have been copied to your local drive when you installed 
      the CD-ROM. Make sure you copy them to your project directory before you run the project.</p>
    </blockquote>
    </td>
  </tr>
</table>
</center></div>

<h3><a NAME="TheMenuSupportRoutines"><b>The Menu Support Routines</b></a> </h3>

<p>There are four main menu branches: <tt><font FACE="Courier">File</font></tt>, <tt><font
FACE="Courier">Message</font></tt>, <tt><font FACE="Courier">View</font></tt>, and <tt><font
FACE="Courier">Help</font></tt>. Each branch is built as a menu array. You need to add 
code to handle user selections for each menu branch. </p>

<p>First, add the code shown in Listing 36.17 to the <tt><font FACE="Courier">mnuFileItem_Click</font></tt> 
event. </p>

<hr>

<blockquote>
  <b><p>Listing 36.17. Adding the <tt><font FACE="Courier">mnuFileItem_Click</font></tt> 
  event code.<br>
  <br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Private Sub mnuFileItem_Click(Index As Integer)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' handle file menu stuff<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Select Case Index<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 0 ' login <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIStart <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 1 ' logout <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIEnd <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 3 ' scan inbox<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIScanInBox <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 4 ' addr book<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIAddrBook <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 6 ' exit <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIEnd <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Unload Me<br>
  &nbsp;&nbsp;&nbsp;&nbsp;End Select<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  End Sub</font></tt> </p>
</blockquote>

<hr>

<p>Next, add the code from Listing 36.18 to the <tt><font FACE="Courier">mnuMsgItem_Click</font></tt> 
event. </p>

<hr>

<blockquote>
  <b><p>Listing 36.18. Coding the <tt><font FACE="Courier">mnuMsgItem_Click</font></tt> 
  event.<br>
  <br>
  </b></p>
</blockquote>

<blockquote>
  <tt><font FACE="Courier"><p>Private Sub mnuMsgsItem_Click(Index As Integer)<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;' handle msgs menu<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim Itm As Object<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Dim x As Integer<br>
  &nbsp;&nbsp;&nbsp;&nbsp;'<br>
  &nbsp;&nbsp;&nbsp;&nbsp;Select Case Index<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 0 ' new<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPINewMsg <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 1 ' read <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If cMsgID &lt;&gt; 
  &quot;&quot; Then<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MAPIReadMsg 
  cMsgID<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End If<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Case 2 ' delete <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -