http://www.china-askpro.com/msg46/qa08.shtml 问专家中的回答

解决方案 »

  1.   

    我看了“问专家”中的回答:
        不必用其他程序打开JPG文件,直接在本程序中用通用对话框获得文件名,将其图像发送到剪贴板,再用SendKeys语句粘贴即可。 
        CommonDialog1.ShowOpen 
        Clipboard.SetData LoadPicture(CommonDialog1.FileName) 
        RichTextBox1.SetFocus 
        SendKeys "^v", True '模拟键盘输入(Ctrl+v),将按键消息发送到活动窗口 于是我在Form_Load加入上面代码,出错的地方有几个,首先出现424错误"Object required",CommonDialog1找不到,然后LoadPicture()中的文件名如何定位?能否用全路径?如何用?最后又说Clipboard找不到,请高手指教,如何解决?
      

  2.   

    你需要在部件中添加microsoft common dialog control 6.0 ,然后在窗体上放一个。
      

  3.   

    由于代码中用到了通用对话框控件,你需要在“工程”-“部件”-选中Microsoft Common Dialog Control 6.0,工具箱中就会多了一个对话框控件控件,添加一个到窗体上。再用下列代码
      Clipboard.Clear
      CommonDialog1.ShowOpen
      Clipboard.SetData LoadPicture(CommonDialog1.FileName)
      RichTextBox1.SetFocus
      SendKeys "^v", True '模拟键盘输入(Ctrl+v),
      

  4.   

    我按照你的说法,加入CommonDialog控件
    但出现2个问题:
    1.运行到Clipboard.SetData LoadPicture(CommonDialog1.FileName)时候,如果我选择.jpg格式的图片,就出现481错误:"Invalid picture",如果选择.bmp格式的文件就没事,这样一来就没有达到显示非bmp图片的目的。
    2.当我选择了.bmp格式图片后,运行到RichTextBox1.SetFocus时候,就出现5错误:"Invalid procedure call or argument",请问这到底怎么回事?还有,我的要求是不使用CommonDialog控件,而是直接在程序中指定某路径的某张图片,请问如何用代码实现?以上问题请高手指教。一定加分。
      

  5.   

    以上代码,在我的机上运行没问题。我的运行环境为WIN98 VB6+SP5,不知是否与升级为SP5有关。先回答您关于“直接在程序中指定某路径的某张图片”的问题
    您只需要把LoadPicture(CommonDialog1.FileName)该为类似下面的代码即可
    LoadPicture("c:\windows\abc.bmp")
      

  6.   

    我的也是sp5阿!但我是在WinXP环境中运行,跟这有关吗?
      

  7.   

    之前我用的.jpg文件有破损,换了一张完整的jpg图片就没事了,但我选择PCX格式的矢量图片,却无法正常显示,还是出现481错误:"Invalid picture",请问如何解决?再加30分。
      

  8.   

    别费事了
    不管用PictureBox控件还是LoadPicture函数是不可能调出PCX格式的图片的,理由:VB不支持PCX格式
    用控件吧