你好,谢谢你的阅读:)
我正在 MFC/SDI 中编写应用程序。我将窗口分成两个视图。左边那个是从 CTreeView 派生的,右边是从 CView 派生的。我还创建了一个不可见的分离器来分开它们。这是显示它的图片:http: //i.imgur.com/hdKqArZ.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,这不是我的决定。