关于vb.netapic的信息( 三 )


1. 启动Visual Studio .Net 。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框 。
3. 将【项目类型】设置为【Visual Basic项目】 。
4. 将【模板】设置为【Windows应用程序】 。
5. 在【名称】文本框中输入【Visual Basic .Net查看文件中的图标】 。
6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮 , 这样在【E:\VS.NET项目】目录中就产生了名称为【Visual Basic .Net查看文件中的图标】文件夹,里面存放着【Visual Basic .Net查看文件中的图标】项目的所有文件 。具体如图02所示:
图02:【Visual Basic .Net查看文件中的图标】项目的【新建项目】对话框
7. 选择菜单【项目】|【添加新项】,在弹出的对话框中的【模板】设置为【模块】,【名称】文本框设置为【Module1.vb】后 。单击【打开】按钮 , 则在项目中增加了一个模板文件,名称为【Module1.vb】 。
8. 把Visual Stuido .Net的当前窗口切换到Module1.vb的代码编辑窗口,并在其Module1的代码区中添加下列代码,下列代码是用二种方式声明二个Windows API函数:
< System.Runtime.InteropServices.DllImport ( "Shell32.dll" ) > _
Public Function _
ExtractIcon ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As UInt32 ) As System.IntPtr
End Function
'声明ExtractIcon函数
Declare Auto Function Icon_Num Lib "Shell32.dll" Alias "ExtractIcon" ( ByVal src As System.IntPtr , ByVal strFileName As String , ByVal uiIconIndex As Integer ) As Integer
9. 把Visual Studio .Net的当前窗口切换到Form1窗体的设计查看,并从【工具箱】中的【Windows窗体】选项卡中拖入下列组件到Form1窗体:
四个Label组件,其中二个用以显示提示信息,另外二个分别用以显示选择的文件名称和这个文件中包含的图标数目 。
一个ListView组件,利用其显示大图标的属性用以显示选定文件中的图标 。
【关于vb.netapic的信息】一个OpenFileDialog组件,用以选择要查看图标的文件名称 。
一个ImageList组件 , 它起的是桥梁的作用,首先把从文件中导出的图标存放到这里 , 然后再提供ListView组件显示出来 。
一个Button组件 。
10. 按照表01中数值来设定设定组件的主要属性:
组件类型组件名称属性设置结果
FormForm1TextVB.NET查看文件中的图标
Form1MaximizeBoxFalse
Form1MinimizeBoxFalse
Form1FormBorderStyleFixedSingle
ListViewListView1ImageList1LargeImageList
ListView1MultiSelectFalse
ListView1SizeSize ( 380 , 208 )
ButtonButton1Text选择文件
Button1FlatStyleFlat
ImageListImageList1SizeSize ( 32 , 32 )
ImageList1TransparentColorColor.Transparent
LabelLabel1Text文件名称:
Label2Text图标数目:
Label3Text""
Label4 Text"0"
表01:【Visual Basic .Net查看文件中的图标】项目窗体中各组件的主要属性设定数值表
并按照图02中各组件的位置、大小和排列方式来调整窗体中各个组件:
图02:【Visual Basic .Net查看文件中的图标】项目的设计界面
11. 把Visual Studio .Net当前窗口切换到Form.vb的代码编辑窗口,并用下列代码替换Form1.vb中的Button1组件的Click事件的处理代码,下列代码是在Button1组件的Click事件中处理查看文件中图标的功能,具体如下:
Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
If OpenFileDialog1.ShowDialog ( ) = DialogResult.OK Then
'清除组件中的所有项目
ListView1.Items.Clear ( )
ImageList1.Images.Clear ( )
Dim sfName As String = OpenFileDialog1.FileName

推荐阅读