CStatic 派生类的 setwindowpos 和 movewindow 无效问题

xjb2001 xjb2001 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我做了一个 cstatic 的派生类
m_show = new CImageShow();
m_show->Create("d:\\IMG_1518.JPG",WS_VISIBLE|WS_CHILD|SS_BITMAP|SS_CENTER,rect,this);
创建后显示正常
然后我调用派生类里面的方法
void CShowImg::SetNewPos(CRect rect)
{
CPoint p1,p2;
CRect ttt;

p1 = rect.TopLeft();
p2 = rect.BottomRight();

if (GetSafeHwnd())
{
SetWindowPos(NULL, p1.x, p1.y, p2.x-p1.x, p2.y-p1.y,SWP_ASYNCWINDOWPOS);
MoveWindow(rect,true);
}
}
结果发现,这个类纹丝不动。也就是说,上面2个方法,都没起作用。

请问,这是为什么?


...全文

相关推荐

MoveWindow() SetWindowPos()的区别于联系

主要介绍了VC++中MoveWindow() SetWindowPos()的区别于联系,需要的朋友可以参考下

假装高冷小姐姐

WTL在Windows CE嵌入式UI开发中的轻量化实践

嵌入式GUI开发面临资源受限与开发效率的双重挑战,其核心在于如何在有限内存和算力下实现高性能原生界面。WTL(Windows Template Library)作为基于ATL的模板化UI框架,以编译期绑定、零运行时开销、RAII资源管理为技术原理,显著优于MFC的虚函数开销和Win32的开发冗余。它在Windows CE/Windows Mobile平台展现出独特技术价值:极小二进制体积(实测427KB)、毫秒级启动、GDI句柄安全及ARM指令优化。典型应用场景包括车载导航、工业手持终端、FM收音机等强实时

chuanbofen3674

MoveWindow,是完全源码的PB开发示例,实现MoveWindow全新效果!

MoveWindow,是完全源码的PB开发示例,实现MoveWindow全新效果!

wglzaj740806

VC++设置窗口的大小和位置

摘要:VC/C++源码,界面编程,窗口位置设置   VC++设置窗口的大小和位置

codeenter

浅谈MFC 改变控件大小和位置

用CWnd类的函数MoveWindow()或SetWindowPos()可以改变控件的大小和位置。 void MoveWindow(int x,int y,int nWidth,int nHeight); void MoveWindow(LPCRECT lpRect); 第一种用法需给出控件新的坐标和宽度、高度; 第二种用法给出存放位置的CRect对象; 例: CWnd *pWnd; pWnd = GetDlgItem( IDC_EDIT1 ); //获取控件指针,IDC_EDIT1为控件ID号 pWnd->MoveWindow( CRect(0,0,100,100) ); //在窗口左

weixin_38690275
评论 11
收藏 已收藏
分享
返回顶部
xjb2001
VC/MFC 16,550 成员 421,606 内容