有一个80*40的方格图(有点像excel)
要在格子中可以填入特定的符号,有三角,圆圈,差等,另外有些符号是跨格子的
还可以在格子中填入字符,数字等
可以保存,修改!
我有以下的思路:
1。先画好格子,然后根据鼠标点击的位置显示picturebox,然后根据热健把特定的符号贴上去,可以解决符号的问题,包括可以在格子的边界填入符号,以及跨格子的符号。但是这样如何输入字符和数字呢?
2。先画好格子,然后根据鼠标点击的位置显示textbox,这样可以解决输入字符和数字的问题,也可以调用一些特殊符号输入,但是系统要求的符号并不是所有都有(至少我现在还没有找到),但这样有些跨格子的符号和在格子边缘的符号如何解决?
3。用ole的方法插入一个excel的固定格子的图表,但是我不知道该如何做。
另外好像excel也不支持在格子边缘,以及跨格子的符号另外是保存数据的方法:我应该如何将数据保存好呢?用db的方法,因为每张图有80*40=3200个格子,如果都保存在一个table 中,数据量会很大,以后查询修改的时候可能会很慢。希望可以得到指教~!

解决方案 »

  1.   

    我认为你如果能用第一种方法实现画符号,那么数字和字符可以用
    picturebox 的print 方法 如:Picture1.print "A",然后把内容保存在
    一个数组中 Varray(1 to 80,1 to 40) as string.使用db的方法,保存从左到右从上到下每一个字符的坐标和图ID就可以重画了.
     横坐标 纵坐标 图页ID  内容
      10     20     1       A
      10     21     1       B
      20     30     1       J
      80     40     2       A
      ....
      

  2.   

    http://www.csdn.net/cnshare/soft/13/13622.shtm
    这可是高手写的
      

  3.   

    先根据坐标(1-80,1-40)计算x:left y:top
    然后load picture1(n) 
    然后 picture1(n).visible=true
    然后
    picture1(n).move x,y
    picture1(n).print "你想干什么?"
    然后保存坐标和内容.
    当然后来的picture可能遮挡住前面的,可根据需要 设置picture1(m).zorder 0
    当然这么多picture可能很耗费资源,只是给你一个思路
      

  4.   

    你的程序好象就是要在平面上的“画图”与“写字”。
    与格子不格子的没多大关系,画格子只是方便用户直观定位。画图用picturebox控件,写字用label控件.
    看看有关“在程序中动态添加控件”的文章。当两个或多个控件重叠时要做透明处理。
    判断用户鼠标操作,可以随时修改各控件的属性。最后用数据库保存各控件的名称与属性值就可以了。