【发布时间】:2011-07-22 06:20:08
【问题描述】:
我正在编写一个从速度按钮派生的小组件。我需要做的实际上是重写paint方法,因为我想改变外观。 现在我已经达到了我想在单击按钮时提供不同背景颜色的地步。但是,我找不到在我的组件中捕获鼠标左键单击消息的方法。
到目前为止我用过的东西:
procedure KeyboardButton.WndProc(var Message: TMessage);
begin
if Message.LParam = VK_LBUTTON then
begin
//Some code
end
else
inherited;
end;
当我点击按钮 Message.LParam 不是 1 时,这不起作用。
我也试过了……
procedure CMMouseLeave(var Message: TMessage); message CM_MOUSELEAVE;
嗯,我知道 CM_MOUSELEAVE 不是代表鼠标点击的消息。但也许有像CM_MOUSECLICK这样的消息???我找不到它。有谁能告诉我什么是 CM_XXXX,因为我在 msdn 中找不到任何东西?看起来像是 Delphi 特定的消息。
提前致谢!
【问题讨论】: