我工作的项目有一个演示模式,向用户显示的一些功能与setcursorpos不同的控制移动鼠标。 setcursorpos函数需要该控件的位置。如何找到这些用于色带控制中的选项卡和按钮?如何查找Delphi XE2功能区控件中按钮的顶部和左侧?
回答
AFAIK SetCursorPos需要为鼠标位置的屏幕坐标有关。假设目标控制是名为Button1你左上角的屏幕坐标与Button1.ClientOrigin;
更新:虽然没有直接问,可能不清楚如何拿到手就代表该按钮的控件实例。让我从XE2示例文件夹中获取RibbonDemo。剪贴板部分的删除按钮(索引3)可以通过rgHomeClipboard.ActionControls [3]访问;
是否带状控制窗口? –
@David:只是好奇:在Delphi 2009中,'TRibbon'控件完全在VCL代码中实现;它不是本地Windows控件。 XE2有改变吗? –
@Andreas我不知道。 Windows功能区是迄今为止最好的选择,但它不是VCL,可能很难编码。我没有想到纽扣有像TControl那样的装饰。 –
- 1. 顶部和左侧与边缘顶部和边缘左侧
- 2. 位置左侧和顶部的iFrame布局上的按钮?
- 3. 控件之间的Delphi XE2和LiveBindings
- 4. 左侧功能VBA
- 5. 在按键上更改gluLookAt。顶部,右侧,底部,左侧
- 6. 如何从我的按钮的左侧和右侧移除可点击区域?
- 7. 如何对齐左侧和顶部的控件而不固定宽度?
- 8. 功能区控件
- 9. Delphi Win32有什么功能区控件?
- 10. 顶部和左侧导航栏Sharepoint 2013
- 11. HTML顶部和左侧像素按比例增长的位置
- 12. 溢出到左侧和顶部?
- 13. NavigationItem左侧和顶部没有显示
- 14. 对齐图像顶部,右侧,底部和左侧的文本?
- 15. 设置顶部和左侧CSS属性
- 16. 无法获得顶部和左侧值
- 17. 顶部和左侧对定制按钮的位置没有影响
- 18. WPF - 旋转后找到图像的实际顶部和左侧
- 19. 如何在PHP中创建顶部标题和左侧标题?
- 20. Swift:SLKTextViewController的左侧按钮不被查看
- 21. 获取Sharepoint中功能区下按钮的控件ID
- 22. 访问Excel功能区按钮和控件
- 23. 如何旋转的按钮,如左侧和右侧采用旋转插件
- 24. getBoundingClientRect在Safari中的顶部,左侧,右侧,底部返回0
- 25. DateToStr和Delphi XE2
- 26. 对齐按钮左侧,中间,右侧
- 27. 如何获得offsetParent div的顶部和左侧属性?
- 28. 如何获得KineticJS舞台的左侧和顶部坐标?
- 29. 核心图:如何在左侧,右侧,顶部和底部添加四个轴
- 30. 在图像中裁剪顶部,左侧,底部和右侧边界(MATLAB)
你实际上需要[CBT](http://en.wikipedia.org/wiki/Computer-based_training),不要重新发明轮子 – OnTheFly
我遵循Uwe的建议并使用以下内容。 var btnpos:tpoint; ... btnpos:= RibbonGroup2.ActionControls [0] .ClientOrigin; setcursorpos(btnpos.x,btnpos.y); .. 它完美的作品。您不需要将clienttoscreen应用于tpoint值。如果窗口调整大小,直到功能区组合折叠为止,Clientorigin会为X值返回负值(-32703)。如果我得到的值小于零,我可以最大化窗口,要求用户最大化屏幕或中止演示。 谢谢Uwe Raabe和大家的帮助。 – Ali
@ user539484,该项目和演示太小,不能保证单独的CBT解决方案。将鼠标移动到按钮并用信息弹出中心的气球更容易。 :) – Ali