编程环境VB6.0
图形元素:13*10000(即每行13个元素,至少10000行)
图形元素尺寸:100*50 pixel
每个图形元素能单独选择,选中时图像反显。

解决方案 »

  1.   

    listView+imageList组合可以显示图片墙,不妨试试
      

  2.   

    数组太大,用listview会不会处理速度跟不上?图片刷新太慢?
      

  3.   

    改用image控件数组,一次显示一页,有翻页键(上翻\下翻)控制. 这样速度应没有问题
    lz说的图形元素是否保存在数据库里?
      

  4.   

    最简单的打印 form1.PrintForm
    打印窗体
      

  5.   

        实现方法很多,但这么大量的数据,效率一定是个需要考虑的主要问题,这也就决定了应该采取哪种方式.
        开销最少的方法,就是用多个IMAGE控件,铺满一屏,每次翻页或搜索定位时更换每个控件的图像.如果要提高一下效率,可以把一行的多个图像合并成一个图像,或者把一屏的图像合成一或几个大的图像,至于单独选择和反显,都可以通过方阵定位和图像操作函数(看看类似BitBlt的API函数就知道了)来实现.
      

  6.   

    更正一下上面的说法,开销最少的方法,不是用多个小IMAGE控件,铺满一屏,而是把一屏的图像合成一个大的图像,然后用一个IMAGE控件了.函数上面虽然需要多写点,但占用系统的开销肯定少.但在效率上,也许这两者都不是,而是一个中间态,比如可能拆成四个更好,在内存和运用效率上能达到一个较好的平衡.具体还要看实际的情况.
      

  7.   

    Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As LongPrivate Const SRCCOPY = &HCC0020
    'x = 1~13-1
    'y = 1~10000-1
    w = 100
    h = 50
    BitBlt 图形元素.hdc, X*100, Y*50, W, H, Form1.hdc, 0, 0, SRCCOPY 
      

  8.   

    BitBlt 图形元素.hdc, X*w, Y*h, W, H, Form1.hdc, 0, 0, SRCCOPY 
      

  9.   

    为了这个图型浏览 我下过一番功夫, 如果你不想再浪费时间, 就学学我的做法吧.Play78 枕善居....所有国内VB网站以及国外的PlaNet...等我搜了几天, 试过每一个代码, 基本上都是用ListView比较有效率, 其它方法暂不多说.我只不过试了 2000多个 .gif 小图片, 不是程序错误便是没有半点效率, 当然几十几百个图片, 看起来都是很不错的代码, 但事实上.....你想试就试吧, 这方面的 Browser VB代码我少说30多个, 全部都放在冰箱里了.ACDSEE 是一流的, 它是先有几个文件就摆几个坑(空框架没图片), 等ScrollBar到那一个位置时, 已读过的跳过, 然后上下读进来几十张图片, 就不过是用了这么一个 "小技巧" 罢了, 但ACDSEE虽然在这领域里是张王牌,你试看2000 3000多张让它来跑跑看.....苦头我已嚐过了, 因为我曾承包过印刷厂的图片处理, 几万张1024*768的图片, 我投降了, 我就是用上下页或第几页来交差的, 客户即使不满意, 但也乐於接受, 因为连 ACDSEE都靠边站了, 你以为你是谁 ? 哈哈...土方法, 但不一定是笨方法.看看 11F 的图片吧.【CBM666 的电子彩页制作系统】
    http://hi.baidu.com/cbm666/blog/item/96e19b50858e436884352454.html有兴趣的话下载看看吧.
      

  10.   

    还有一个王牌 Ulead Photo Explorer 这些都是我学习的对像, 但仅限於少量图片时的处理学习.CPU 几乎耗掉 100% 呵呵....王牌也不过如此, 还是土法炼钢吧.