CStatic 派生类的 setwindowpos 和 movewindow 无效问题
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收音机等强实时
MoveWindow,是完全源码的PB开发示例,实现MoveWindow全新效果!
MoveWindow,是完全源码的PB开发示例,实现MoveWindow全新效果!
VC++设置窗口的大小和位置
摘要:VC/C++源码,界面编程,窗口位置设置 VC++设置窗口的大小和位置
浅谈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) ); //在窗口左


