CTreeCtrl -改变其位置而不移动整个区域
CTreeCtrl - changing its position without moving the whole area
大家好,感谢大家的阅读。
我正在用MFC/SDI编写一个应用程序。我将窗口分成两个视图。左边的那个是从CTreeView派生的,右边的那个是从CView派生的。我还创建了一个无形的分离器来分离它们。这是显示它的图片:https://i.stack.imgur.com/WFZsz.png(左边的区域是CTreeView派生的,我的错)。我想移动CTreeCtrl,这样它就不会覆盖图片。我在谷歌上搜索了可能的解决方案,但我找到的唯一一个并不像我预期的那样有效。使用GetWindowRect移动整个区域,并且不允许我在以前是矩形的一部分但不再是的区域上绘制。所以当我移动CTreeCtrl时,我不能在它上面的区域放一张图片。我在OnInitialUpdate()中做所有这些事情。
下面是我在网上找到并尝试过的示例代码:
CTreeCtrl &list_recipes = this -> GetTreeCtrl();
list_recipes.GetWindowRect(&rect);
ScreenToClient(&rect);
rect.top += 100;
rect.bottom += 100;
list_recipes.MoveWindow(&rect);
// inserting items into the CTreeCtrl
// (...)
CImage image;
CDC dc;
image.LoadFromResource(AfxGetInstanceHandle(), IDB_CUPCAKE);
dc.CreateCompatibleDC(pDC);
CRect rect3(0,0,202,126);
image.Draw(pDC -> m_hDC,rect3);
任何帮助将不胜感激,提前感谢:)我必须使用MFC,这不是我的决定。
我会避免在树视图上绘制您的图像。尝试使用一个单独的视图,其中包含树视图和一个静态控件,树视图移动到下面。
左窗格可以使用CFormView而不是CTreeView。在这个表单视图(它使用一个对话框模板)中,为图片放置一个CTreeCtrl和一个CStatic。
相关文章:
- 将对象移动到std::shared_ptr
- 何时在引用或唯一指针上使用移动语义
- 如何从具有移动语义的类对象中生成共享指针
- 将shared_ptr移动到<StructA>shared_ptr<变体<结构A、结构 B>>
- C / C++ 移位/偏移/向左或向右移动位图?
- MSVC将仅移动结构参数解释为指针
- 自定义先决条件对移动分配运算符有效吗
- 返回值优化:显式移动还是隐式
- 当有分配器意识的容器被复制/移动时,反弹分配器是否被复制/移走
- 为什么复制而不是移动数据元素?
- 可以使用移动语义更改或改进此C++代码吗?
- 使lambda不可复制/不可移动
- c++在使用指针时移动语义
- 将QGraphicsItem的移动区域限制在多边形区域内
- 如何在移动列表视图中添加滚动条?并且用户只能垂直滚动特定区域
- 如何禁用窗口在区域内移动
- DXGI 桌面复制 API 何时将区域标识为移动区域
- 如何以编程方式将工具按钮移动到右侧工具栏区域
- CTreeCtrl -改变其位置而不移动整个区域
- Qt:限制QGraphicsItem在另一个QGraphicsItem中的可移动区域