我主要想知道它的地图内小区域的点击功能是怎么实现的,也就是在用不规则图形和颜色拼起来的图片内点击不同区域可以执行不同操作,哪位能告诉我?   我的QQ:41063869  邮箱:[email protected]

解决方案 »

  1.   

    大致过程应该是这样的:PtInRegion函数:可以检查指定的坐标是否在区域内
    声明如下:
    Declare Function PtInRegion Lib "gdi32" Alias "PtInRegion" (ByVal hRgn As Long, ByVal x As Long, ByVal y As Long) As Long下面就是创建区域了,创建区域的方法有很多,可以创建路径然后存成区域(PathToRegion),或者使用数组(CreatePolygonRgn),或者使用各省的区图片(网上有很多从图片建区域的代码)。解决了这两个关键问题就可以了。
    另外,如果想少量的代码,最好是创建自定义控件。很容易的。
      

  2.   

    谢谢你的关注!API函数我不熟,可不可以告诉我简单的方法?
      

  3.   

    也可以。使用
    Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
    就行了。获得鼠标位置的当前颜色值。将各省份绘制成完全不同的颜色值,根据这个颜色值来判断是点的是哪个省。
      

  4.   

    楼上这位朋友可不可以帮我写段具体实例?   因为我对API函数不熟很少用
      

  5.   

    songyaowu你有没有QQ或其他联系方式?
      

  6.   

    顶先,再找各位前辈帮小弟一个忙,做个VB特别简单的查询系统,具体的条件我们可以QQ上聊,谢谢哪位好心人帮帮小弟,实在是急呀,再不做好,就要下岗!小弟这里有礼了!!!!!!!!!!在线等QQ11060006
      

  7.   

    个人认为,用鼠标取颜色值的方法并不算好,因为要实时处理鼠标事件,并且要比较鼠标所在位置的颜色是否与否一颜色值相同,比较麻烦,如果你相要我给你代码,我建议你做自定义控件,如果你搞不定,我可以帮你,不过我时间不是很多,所以麻烦你找一幅中国地图的图片给我,如能将每一省按其边界分开则更好,发到[email protected]
    其实这很容易。
      

  8.   

    songyaowu谢谢你的帮助,我已经把图片发到你的邮箱里了!
      

  9.   

    非常感谢songyaowu的帮助,我现在就结贴^_^