敬业的IT人 >> 编程开发 >> PowerBuilder >> 再谈在Grid数据窗口中,鼠标调整数据宽度时对应的事

再谈在Grid数据窗口中,鼠标调整数据宽度时对应的事

敬业的IT人 互联网 佚名 2008-1-4 11:46:26
    ·再战:鼠标绘图技术全接触
    ·拖出精彩 教你八种鼠标拖动操作
    ·模拟一次鼠标事件
    ·拖出来的“精彩” 8种鼠标拖动操作
    ·在VB中“遥控”鼠标
    ·解决鼠标突然“乱动”问题
    ·高手从来不用键盘 一个鼠标就能走天下
    ·中低端也有好选择 4种类型16款鼠标细
    ·可爱的Windows XP小鼠标
    ·电脑鼠标常见故障分析与维修技巧

  孔夫子问:
蔡大侠说在Grid风格的数据窗口中,当用户用鼠标调整数据宽度时,不对应任何事件,但我确实希望对应一个事件,因为我制作的学生成绩表是grid和一标题(文本框)组合而成的,标题是居中显示方式,当用户用鼠标调整数据宽度时(这种操作很有必要,如打印数据时),标题理应自动居中,因此要在此条件下(调整数据宽度时)编程,即对此事件编程.如果不对应任何事件,该如何解决上述情况?请蔡大侠或哪位高手指点,在此谢了.

蔡毅答:
窗口打开时,保存最后一列的X值;打印前,把最后一列的X值与原来保存的比较,如果有变化的话,把标题文本框的宽度调整为最后一列的X值加上该列的宽度。

孔夫子问:
非常感谢蔡大侠,但这种办法势必要增设计一个按钮,这对于用户来说完全没必要,因为用户在调整了宽度后,文本框中字就自动居中,没必要用户再去点击那个按钮,有没有别的办法?

Kukoc答:
蔡毅说得没有错,不必另外增加按钮,只是在打印按钮前判断就可以了,我有几个应用就是用这种办法。
如果实在要找对应事件的话你试试用这三个user event:pbm_lbuttondown,pbm_mousemvoe,pbm_lbuttonup
如果:
pbm_lbuttondown: 在数据窗口标题栏(getrow() = 0 and GetObjectAtPointer =你的标题)按下鼠标左键,记一个标志;
pbm_mousemvoe: 鼠标移动了,在记一个标志;
pbm_lbuttonup: 这时鼠标左键up,再判断最后一列的位置是否发生变化,如果有,写你的脚本。

你试试吧,不知有没有用。

另:在Grid数据窗口的Clicked事件中加入:
If row = 0 Then return 1
可以禁止调整列宽度。

进入讨论组讨论。
粤ICP备06119539号
Copyright CiscoSky.Org,Some Rights Reserved.
Email:me1228#tom.com