首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CView控件布局的就地编辑

CView控件布局的就地编辑
EN

Stack Overflow用户
提问于 2016-01-22 10:13:48
回答 1查看 52关注 0票数 1

我有一个CView,作为一个占位符的几个Ctrl的垂直堆叠,以便占据所有可用的空间。我想做的是用鼠标抓住一个水平边界,并向上或向下拖动它来调整Ctrl高度。

问题是CView的子Ctrl拦截鼠标消息,而不是CView父窗口(WM_LBUTTONDOWNWM_MOUSEMOVE等)。Ctrl还处理这些消息,以满足不相关的编辑要求。

对于此尺寸/编辑要求,是否有人能够提供建议或提供可能的解决方案的参考。这种情况类似于Visual Studio中的资源编辑器。只有我希望在一个真实的环境中编辑。

EN

回答 1

Stack Overflow用户

发布于 2016-01-22 22:59:31

我认为这很容易做到,如下所示:

  • 在子控件之间留出一个小的间距(比如2或3个像素)。可以用相同的颜色绘制,也可以用稍有不同的阴影绘制。
  • 将主CView的光标设置为IDC_SIZENS
  • 处理主CView(按下、移动等)中的鼠标消息(当鼠标悬停在该间隙上时)。
  • On‘drawn’调整子控件的大小。

这样,所有的消息仍然会转到子控件,除非鼠标位于那些2到3个像素的“分割器”之上。

如果真的没有办法留下一个小的间隙,那么你就必须捕获CView中的所有鼠标消息,并检查它们是否在边界上。如果不是,则将它们转发(或默认)到鼠标光标下方的子窗口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34937879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档