我想实现的是 一个楼层的平面图,该楼层是座写字楼用的,面积大约是2000平, 根据顾客的需求,划分出不同的大小,形状也不规则的区域出租(本来该楼层的建筑也不规则)。 比如说划分了A、B、C、D、E、F、G七个区域。 我想实现的功能是,把这个楼层的平面图放在Form上,这七个区域已标识出, 但我当的鼠标移到任一个区域上面是,该区域呈特殊显示(可以是3D,也可以在周边呈粗线显示,或者呈高亮显示等等), 请问 如何实现? 谢谢

解决方案 »

  1.   

    在Form上放个Panel,上网查CreatePolygonRgn()这个API,他能创建出一块多边形区域,然后调用SetWindowRgn(Panel1.Handle,hRgn{CreatePolygonRgn()的返回值},true);将Panel剪切成你想要的形状,然后设置OnMouseMove事件就行了。。
      

  2.   

    放几个Panel,用CreatePolygonRgn+SetWindowRgn创建不规则的形状
    然后在Panel的鼠标进入和离开时切换颜色,鼠标进入可以用OnMouseMove
    离开没有相应的事件,要截获消息实现