1 在FlexGrid里添加了vertical scroll bar之后,如何使其对应WM_MOUSEWHEEL,从而实现鼠标的滚动?2 如何在调整对话框大小的同时,自动设置FlexGrid的列宽大小?谢谢

解决方案 »

  1.   

    2 在OnSize函数里通过计算对话框的变化大小后再设置列宽的大小,以前有同样类型的问题,找找看。
      

  2.   

    1 你可以在控件的WM_MOUSEWHEEL里发送消息使滚动条调整位置,一个思路,参考。
      

  3.   

    好像在FlexGrid里面没有WM_MOUSEWHEEL这条消息。我找到一篇VB中解决这个问题的办法,有没有高手能帮我看一下如何在vc中实行,谢谢http://www.adit.co.uk/html/mousewheelsupport.html
      

  4.   

    看得不是很明白,不过知道是用钩子实现的,根据它的提示和自己的理解应该是做了一个鼠标钩子,WH_MOUSE 在钩子函数里检察FlexGrid是否有焦点,如果是就是钩子函数里动态设置。
      

  5.   

    呵呵,你在国外吗?
    看看下面的几篇文章。
    http://www.vccode.com/file_show.php?id=558
    http://www.vccode.com/file_show.php?id=178
    http://www.vccode.com/file_show.php?id=173  在到www.vckbase.com和上面的网站找几个钩子的例子看看。
      

  6.   

    对于第二个问题,现在可以调节FlexGrid对应窗口的大小,但是由于columns数量比较少(只有5列),所以在拖动的过程中右边会有灰色的空白部分出现,想问一下能不能自动设置FlexGrid每一列的宽度,从而解决上述问题。