B
BaKuBaKu
Unregistered / Unconfirmed
GUEST, unregistred user!
我对一个问题始终很迷惑:
比如说 TStringGrid, 它的间接父类是 TCustomControl, 应该说对所有
消息都是一视同仁的。
我们都知道,TStringGrid 在设计期能改变列宽,这是通过响应
WM_MOUSEDOWN 和 WM_MOUSEMOVE 实现的。
现在问题是:为什么点击标题列与标题列的边缘并拖动鼠标能激活
TStringGrid 的代码,实现列宽度的改变,诸如画一条 Xor 的细线等。但是
点击Grid的白色网格却不能激活 TStringGrid 的代码?(本来应该改变Grid的
焦点框的)
换句话说,是不是 WM_MOUSEDOWN 消息是有选择性地传给控件的?但是
标题区与活动区根本上是一致的,都是在TCustomControl的空白Canvas上画
出来的。
不知道我是否表达清楚了我的意思。谢谢!
BaKuBaKu.
比如说 TStringGrid, 它的间接父类是 TCustomControl, 应该说对所有
消息都是一视同仁的。
我们都知道,TStringGrid 在设计期能改变列宽,这是通过响应
WM_MOUSEDOWN 和 WM_MOUSEMOVE 实现的。
现在问题是:为什么点击标题列与标题列的边缘并拖动鼠标能激活
TStringGrid 的代码,实现列宽度的改变,诸如画一条 Xor 的细线等。但是
点击Grid的白色网格却不能激活 TStringGrid 的代码?(本来应该改变Grid的
焦点框的)
换句话说,是不是 WM_MOUSEDOWN 消息是有选择性地传给控件的?但是
标题区与活动区根本上是一致的,都是在TCustomControl的空白Canvas上画
出来的。
不知道我是否表达清楚了我的意思。谢谢!
BaKuBaKu.