我基于 TcustomControl 创建了自己的图形组件。
该控件首先绘制一个边框区域以绘制文本信息,然后在控件的全宽和高度中设置一个矩形剪辑区域,然后在其中绘制图形。
定义剪辑区域,以便绘制的图形不会侵占边界区域并破坏文本信息。
在绘制过程结束时,使用删除剪辑区域
selectcliprgn(handle,0);
DeleteObject(HClip);
这一切都很有效,问题是,当我为控件分配上下文菜单(按下鼠标右键时选择)时,菜单仅在光标位于被剪切的区域内时出现。当我右键单击边框区域时,将显示组件父控件上下文菜单。
任何想法为什么剪辑区域会影响显示哪个上下文菜单以及如何阻止它发生?