【发布时间】:2015-04-28 03:26:04
【问题描述】:
要求
- 动态创建的按钮(很多)。
- Wordwrap 必不可少,因为事先不知道字幕长度(TSpeedButton 不好)。
下面给出了通过鼠标滚轮滚动 TScrollBox 的代码,它位于 Form 的 OnMouseWheel 事件中。当光标在按钮上保持静止时,它会获得橙色 (XP) 矩形并且不会滚动 TScrollBox。除了这种特殊情况外,似乎所有其他鼠标移动事件都存在。
If WindowFromPoint( mouse.Cursorpos ) = scrlbx1.Handle Then Begin
Handled := true;
If ssShift In Shift Then
msg := WM_HSCROLL
Else
msg := WM_VSCROLL;
If WheelDelta > 0 Then
code := SB_LINEUP
Else
code := SB_LINEDOWN;
n:= Mouse.WheelScrollLines;
For i:= 1 to n Do
scrlbx1.Perform( msg, code, 0 );
scrlbx1.Perform( msg, SB_ENDSCROLL, 0 );
End;
任何解决方法将不胜感激。
【问题讨论】:
-
请不要将信息放在标签中可用的问题标题中。标签在这里正常工作以提供信息,并且在标题中使用标签是不合适的,尤其是在将它们括在方括号中时(在此处的标题中也有特定含义,专门表示[关闭],[暂停],或[重复]问题)。谢谢。
-
谢谢。我不知道。
标签: delphi delphi-xe4