用api吧,可以自己把它封装起来!

解决方案 »

  1.   

    很简单,如果使用vc下面把别人的文章引用一下
    VB编程的好帮手--资源文件   各位VB高手,你一定也常常因苦于无法组织自己程序中大量的picture,而头痛不已,那就让小生为各位介绍一下VB编程的好帮手--资源文件。 
      所谓资源文件,就是指将在程序运行时用到的资源集中在一起的一个文件。一个资源文件可以包括文字(TEXT)、位图(BITMAP)。图标(ICON)等。并且在程序中调用时不用指明路径,这就简化了程序的编写并减少了发生错误的可能。现在我就以一个小程序为例讲述资源文件的一些使用方法。 
      这个工程运行后,当点击【未来】按钮时中间图像将依次变换为夏、秋、冬、春……点击【从前】按钮则以相反顺序转动图片(源程序附后)。 
      首先建立春、夏、秋、冬四幅位图,均以.BMP格式保存在C:TEST下。然后打开记事本编写资源文件, 
      内容如下: 
      100 bitmap spring.bmp 
      200 bitmap summer.bmp 
      300 bitmap autumn.bmp 
      400 bitmap winter.bmp   其中数字表示此项的ID号码,此号码很重要,它直接影响调用!BITMAP表示以位图方式保存而最后的部分为文件名。将此文件保存为TEST.RC。 
      接下来编译此资源文件。在C:Visual BasicWizards目录下找到RC.EXE文件。在MS-DOS方式下键人C: c /r c: est.test.rc(键入rc /?将会得到帮助),在编译成功后在C:TEST中将发现增加了一个名为TEST.RES的文件。 
      完成了上面的工作,接下来就可以编写工程了。首先建立一个image控件img和两个Command控件cmdc、cmdw。然后建立一个时钟控件,设其Interval属性为1000。最后在[通用]中声明一个名为iid的整形变量:   Dim iid As Integer   并初始化img和iid: 
      img.Picture=LoadResPicture(100,vbResBitmap) 
      iid=100   其中LoadResPicture(id,model)为从资源文件中调用图像的函数,100表示ID号为100的项,bResBitmap为一常量,值为0,表示以位图方式打开。然后在两个Command控件中加入源程序代码。 
      最后在工程资源管理器中用鼠标右键单击选择【添加】-->【添加文件】,加入TEST.RES。 
      至此工程可谓大功告成,按F5运行一下,希望你会喜欢。还有一点要强调的是一个工程只能有一个工程文件!附源程序: Option Explicit 
    Dim iid As Integer Private Sub comc_Click() 
     iid = iid - 100 
     If iid < 100 Then iid = 400 
      img.Picture = LoadRespicture(iid.vbResBitmap) 
     End If 
    End Sub Private Sub comw_Click() 
     iid = 100 + iid 
     If iid > 400 Then iid = 100 
      img.Picture = LoadResPicture(iid,vbResBitmap) 
     End If 
    End Sub Private Sub Form_Load() 
     img.Picture = LoadResPicture(10O,vbResBitmap) 
     iid = 100 
    End Sub Private Sub Timer1_Timer() 
     iid = 100 + iid 
     If iid > 400 Then iid = 100 
      img.Picture = LoadResPicture(iid,vbResBitmap) 
     End If 
    End Sub 
      

  2.   

    to lingll:
    你这种是在程序里加入整个res文件,但我的意思是res已经存在,用什么方法(在程序里)可以往这个res文件里加入数据??
      

  3.   

    文章的前面已经介绍了如何往res文件加数据了,使用rc.exe,我再抄一遍
    接下来编译此资源文件。在C:Visual BasicWizards目录下找到RC.EXE文件。在MS-DOS方式下键人C: c /r c: est.test.rc(键入rc /?将会得到帮助),在编译成功后在C:TEST中将发现增加了一个名为TEST.RES的文件。 
      

  4.   

    其实我想解决的问题是如果已经存在了一个res文件,要往这个已存在的res文件加入数据的方法!
      

  5.   

    可以用API函数:Declare Function UpdateResource Lib "kernel32" Alias "UpdateResourceA" (ByVal hUpdate As Long, ByVal lpType As String, ByVal lpName As String, ByVal wLanguage As Long, lpData As Any, ByVal cbData As Long) As Long