MFC关于OnSize和MoveWindow关系的梳理

请问MFC中既然写了OnSize,为什么还要写 MoveWindow 呢,两者的关系是怎样的,具体的案例写法怎么做?

mfc

2个回答

根本用不着MoveWindow,直接在你的OnDraw中根据新的窗口尺寸的比例重新绘图就可以了。

在调用成功MoveWindow之后,才会走OnSize,一个是用来改变窗体大小,一个是窗体大小改变之后要做的事情

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
诡异的MoveWindow!!!OnSize()无响应
现象是这样:rnrn当主对话框的大小发生改变时,我在OnSize()里对子控件进行了重新排列。rnrn调用 m_pChild->MoveWindow(&rcChild, TRUE); 调整子控件大小。rnrn诡异的是:在子控件的OnSize()里怎么也不响应。rnrn==================================================================rnrn更诡异的是:我用了四台电脑进行测试,两台一切正常,两台不能正常响应rnrn=================================================================rnrn调试跟踪发现。正常的情况下:MoveWindow 顺次发了如下消息。rnrn70 #define WM_WINDOWPOSCHANGING 0x0046rn131 #define WM_NCCALCSIZE 0x0083rn133 #define WM_NCPAINT 0x0085rn20 #define WM_ERASEBKGND 0x0014rn71 #define WM_WINDOWPOSCHANGED 0x0047rn3 #define WM_MOVE 0x0003rn5 #define WM_SIZE 0x0005rnrn而不正常情况下。只发了一条rn71 #define WM_WINDOWPOSCHANGED 0x0047rnrn====================================================================rn其余消息凭空失踪了??? 不知道微软MoveWindow如何实现的,有什么条件促使MoveWindow有些消息没发出来?rnrn各位大大能提供个思路不?
一个有关MFC的OnSize和MoveWindow结合的问题
是不是调用OnSize,MFC系统就会调用MoveWindow函数,而不需要再另外调用了呢?
OnSize中的MoveWindow出错
我是在MainFrm中加入了一个TabCtrl,然后在TabCtrl中添加一项RoomFrame:CFrameWnd,在RoomFrame中静态切分窗口,在其中一个子View中又加入了一个TabCtrl,再在TabCtrl中添加一项ChatDlg:CDialog,在MainFrm的OnSize中添加了如下代码(这段代码单独运行没有问题)rnrnRECT rect;rnmemset(&rect,0,sizeof(rect));rnthis->GetClientRect(&rect);rnrect.top = 50;rnm_pTabCtrl->MoveWindow(&rect,TRUE); //移动MainFrm中的TabCtrl rnrnm_pTabCtrl->GetClientRect(&rect);rnrect.bottom = rect.bottom-21;rnm_pRoomFrame->MoveWindow(&rect,TRUE);//移动MainFrm中TabCtrl的RoomFrame项rnrn在RoomFrame中的子View的OnSize中添加如下代码rnrnRECT rect;rnmemset(&rect,0,sizeof(rect));rnthis->GetClientRect(&rect);rnm_pTabChat->MoveWindow(&rect,TRUE); //移动子View中TabCtrlrnrect.bottom-=21;rnrn//只加以上5行,运行正常,但继续加入下边的1行代码时就报错(A(终止),R(重试),Ignore(忽略))rnm_pChatDlg->MoveWindow(&rect,TRUE); //移动子View中TabCtrl的ChatDlg项rnrn如果我机子开的话,可以参看一下界面视图http://59.64.197.221/ROOM.JPGrn我不加错误那句,我定义的ChatDlg无法看见,加的话就出错,但不知道错在何处,请高人指教
初学MFC 关于MoveWindow有疑问
就是我用MoveWindow来控制鼠标移动图片时原来的图片没有被删除(就是整个屏幕拖动的都是这个图片了),请问为什么?谢谢
OnSize函数中使用MoveWindow出错
我在从CFormView派生的View中添加了几个按钮控件,我想使这些控件随着窗口大小改变而改变控件的位置和大小,所以我在OnSize函数中添加了几行如下的代码:rn GetDlgItem(IDC_BTN_UP)->MoveWindow(cx*13/16, cy*23/147, cx*1/10, cy*3/49); //IDC_BTN_UP为控件的IDrn 编译链接没错误,但是运行时出错,不能显示窗口,为什么?rn
Onsize中MoveWindow移动EditBox老是出错
我想在Onsize中MoveWindow移动一些按钮,GroupBox和一个EditBoxrn用如下API实现,其他的控间都按我的意志正常的移动了,可是只有那个EditBox不听话,只要一拉伸对话框,这个EditBox就不知道跑哪里去了?rn百思不得其解.rn::GetClientRect( hWnd, pRect );rn POINT pt;rn pt.x=pRect->left; pt.y=pRect->top;rn ::ClientToScreen(hWnd,&pt);rn ::ScreenToClient(hDlgWnd,&pt);rn pRect->left=pt.x; pRect->top=pt.y;
请教:OnSize()中调用MoveWindow()出错、??
rn响应对话框的WM_SIZE消息,来动态改变对话框上控件的位置何大小。rnrn代码如下:rnvoid CMy111Dlg::OnSize(UINT nType, int cx, int cy) rnrn CDialog::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern switch (nType)rn rn case SIZE_MAXIMIZED:rn m_tree.MoveWindow(0,0,cx*3.0/8,cy);rn m_list.MoveWindow(cx*3.0/8,0,cx*5.0/8,cy*5.0/8);rn m_edit.MoveWindow(cx*3.0/8,cy*5.0/8,cx*5.0/8,cy*3.0/8);rn break;rn /* case SIZE_RESTORED:rn * m_tree.MoveWindow(0,0,cx*3.0/8,cy);rn * break;rn */rn default:rn break;rn rnrn其中/***/注释掉程序可以正常运行,就是只能响应窗口最大化的消息,可是怎么响应rn窗口的大小任意改变呢??rnrn如果把/***/部分注释掉,run出错为:rnrnvoid CWnd::MoveWindow(int x, int y, int nWidth, int nHeight, BOOL bRepaint)rnrn ASSERT(::IsWindow(m_hWnd));//////ASSERT出错??????????rnrn if (m_pCtrlSite == NULL)rn ::MoveWindow(m_hWnd, x, y, nWidth, nHeight, bRepaint);rn elsern m_pCtrlSite->MoveWindow(x, y, nWidth, nHeight, bRepaint);rnrnrnrn请高手指教,聆听ing!rn
OnSize 函数里调用MoveWindow崩溃
[size=18px]OnSize 函数里有两个 MoveWindwo 函数。注释掉的运行正常。没注释的崩溃。为什么[/size]rn[code=C/C++]#pragma oncern#include "resource.h"rn#include rn#include rn// CChaXun_GongHuoShangXinXi 对话框rnrnclass CChaXun_GongHuoShangXinXi : public CDialogrnrn DECLARE_DYNAMIC(CChaXun_GongHuoShangXinXi)rnpublic: //成员变量rn CListCtrl * pListView ;rn CStatic * pShangPinMingCheng ;rn CStatic * pShangPinTiaoMa ;rn CEdit * pEMingCheng ;rn CEdit * pETiaoMa ;rnpublic:rn CChaXun_GongHuoShangXinXi(CWnd* pParent = NULL); // 标准构造函数rn virtual ~CChaXun_GongHuoShangXinXi();rn afx_msg void OnSize(UINT,int,int);rn BOOL OnInitDialog();rnrn// 对话框数据rn enum IDD = IDD_ChaXun_GongHuoShangXinXi ;rnrnprotected:rn virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持rnrn DECLARE_MESSAGE_MAP()rn;[/code]rnrn[code=C/C++]// ChaXun_GongHuoShangXinXi.cpp : 实现文件rn//rn#include rn#include "stdafx.h"rn#include "ChaXun_GongHuoShangXinXi.h"rn#include rnrnrn// CChaXun_GongHuoShangXinXi 对话框rnrnIMPLEMENT_DYNAMIC(CChaXun_GongHuoShangXinXi, CDialog)rnrnCChaXun_GongHuoShangXinXi::CChaXun_GongHuoShangXinXi(CWnd* pParent /*=NULL*/)rn : CDialog(CChaXun_GongHuoShangXinXi::IDD, pParent)rnrnrnrnrnCChaXun_GongHuoShangXinXi::~CChaXun_GongHuoShangXinXi()rnrnrnrnvoid CChaXun_GongHuoShangXinXi::DoDataExchange(CDataExchange* pDX)rnrn CDialog::DoDataExchange(pDX);rnrnrnBOOL CChaXun_GongHuoShangXinXi::OnInitDialog ()rnrn CDialog::OnInitDialog ();rn pListView = (CListCtrl*)GetDlgItem(IDC_LIST1);rn pShangPinMingCheng = (CStatic*) GetDlgItem(IDC_STATIC1);rn pShangPinTiaoMa = (CStatic*) GetDlgItem(IDC_STATIC2);rn pEMingCheng = (CEdit*)GetDlgItem(IDC_EDIT1);rn pETiaoMa = (CEdit*)GetDlgItem(IDC_EDIT2);rn return TRUE;rnrnrnBEGIN_MESSAGE_MAP(CChaXun_GongHuoShangXinXi, CDialog)rn ON_WM_SIZE()rnEND_MESSAGE_MAP()rnrnrn// CChaXun_GongHuoShangXinXi 消息处理程序rnvoid CChaXun_GongHuoShangXinXi::OnSize(UINT, int cx, int cy)rnrn rnrn pListView->MoveWindow (0,0,cx,cy-150,1);rn// ::MoveWindow(::GetDlgItem(m_hWnd,IDC_LIST1),0,0,cx,cy-150,TRUE);rnrn/*rn pShangPinMingCheng->MoveWindow (20,cy-150-20,60,20,FALSE);rn pShangPinTiaoMa->MoveWindow(20,cy-150-20-20,60,20,FALSE);rnrn pEMingCheng->MoveWindow (20+60+20,cy-150-20, cx- (20+60+20) - 20 -20,20,FALSE);rn pETiaoMa->MoveWindow (20+60+20,cy-150-20-20,cx- (20+60+20) - 20 -20,20,FALSE);rn*/rnrn[/code]
mfc movewindow问题
movewindow 有2个构造rnrn一个是一个rect,一个是4个点rnrnrect很好理解,就是新窗口出现的位置rnrnrn[color=#FF0000]我想问的是,关于那4个点的[/color]rnrnrn前2个点是新窗口左上角的坐标rnrnrn那么,后2个点是新窗口的宽度?还是新窗口右下角的坐标?rnrnrn如果是前者,那么下面的代码为什么会不对呢?rnrnrncode:rnrnCDlgQ2 *p=new CDlgQ2(); rnp->Create(IDD_DIALOG1,0); //新对话框rnp->ShowWindow(SW_SHOW);rnCRect rct;rnp->GetWindowRect(&rct); //获取对话框大小rnp->MoveWindow(800-(rct.right-rct.left),0,rct.right-rct.left,rct.bottom-rct.top); //指定显示位置,按原大小rnrnrnrn这样出来的对话框总是与定义的对话框大小不同,求指教
MFC的MoveWindow问题
请教个问题!最近在项目中遇到个奇怪的事:在OninitDialog调用Movewindow调整了一个对话框的大小和位置,结果在公司所有能用到的机子上测试都能正常显示调整后的对话框,但到了客户那边每次都失败,而且感觉很像是MoveWindow执行完成了一半后失败的(调整了对话框的位置,但大小没调整)如图片中所示(initWindowCtrl在OninitDialog中调用),写log记录显示执行到movewindow那行后就嗝屁了,我是不是见鬼了?[img=https://img-bbs.csdn.net/upload/201701/23/1485137891_814259.png][/img]
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  cx,cy  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘函数,       再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
MFC 的onsize函数不响应
在做一个简易total commander的时候,建立了两个FormView各占一边,分别在这两个视图类上放置了ListCtrl空间,然后用OnSize函数调整控件的显示,使控件可以占满视图,这是两个OnSize函数的实现,为什么只有一个调整好了,FromView2却没有反应啊rnvoid FinalFromView1::OnSize(UINT nType, int cx, int cy) rnrn CFormView::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern rn if(m_Listctrl1)rn rn m_Listctrl1.MoveWindow(0,0,cx,cy); rn rn rnrnvoid Finalc::OnSize(UINT nType, int cx, int cy) rnrn CFormView::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern if(m_Listctrl2)rn rn m_Listctrl2.MoveWindow(0,0,cx,cy); rn rn rn
关于MoveWindow
为什么我用MoveWindow的时候总是在创建exe文件时报错,但是忽略这个错误程序运行正常呢?
关于OnSize();
我在响应窗口OnSize(UINT nType, int cx, int cy)函数时,想要改变里面控件的大小,但是我在设计控件时用的单位是DLU,好象与传进来的参数cx与cy的单位不一致,应该怎么处理呢?不知道能不能换算单位。rn我设置控件大小使用MoveWindow(),可能是由于单位不一致,没有出现想要的效果。rn,有没有代码可以参考一下。比如希望控件边界与整个窗口的客户区的边界保持一定距离。rn谢谢!
关于MFC对话框应用程序中,ONSIZE一问
刚才在大家的指导下,我在MESSAGE里,找到WM_PAINT,然后EDIT CODE,在ONPAINT里面加了自己的redraw()函数,解决了在bitmap上重绘的问题,但当我想用同样的方法找ONSIZE,发现与预想的不同rn下面是我用EDIT CODE在主程序里定位到的,请问到底如何对每个对象onsize?rnrnCTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)rn : CDialog(CTestDlg::IDD, pParent)rnrn //AFX_DATA_INIT(CTestDlg)rn m_strRXData = _T("");rn m_strTXData = _T("");rn m_show = _T("");rn m_rightdata = _T("");rn //AFX_DATA_INITrn // Note that LoadIcon does not require a subsequent DestroyIcon in Win32rn m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);rnrnPS.程序有6,7个编辑框,按钮,图片等
MFC窗口大小变化:OnSIze、OnSizing和OnGetMinMaxInfo区别与关系
---------------------------------------------------------------------------------------------------------------------------------------- MFC编写时,经常需要在运行时动态调整窗口大小,并且使里面的控件和视图也随窗口的大小变化而发生相应变化。 在这之间,您需要
Activity和WMS关系梳理
Activity启动完成,和WMS是有交互的。 这里分析一下Activity持有WMS服务的代理是什么,WMS持有的Activity这一侧代理是什么。 由于Activity和WMS交互都是RootViewImpl这个桥梁,所以分析Activity持有WMS代理也可以从 ViewRootImpl出发就好了。 1.Activity持有WMS代理是ViewRootImpl的一个成
react 组件关系梳理
最近在做一个增删改查的类后台管理系统,页面结构和交互比较复杂,权限也有多种。开发周期只有3周,时间是很紧迫的。 项目背景介绍:一个基于网红关于某些品牌活动的帖子分析系统,一个页面Campaign Performance 无数据状态: Campaign Performance页涉及功能模块: 1)活动筛选 2)活动创建、编辑、删除 3)帖子基本信息创建、编辑、删除 4)帖子数据输入...
请问Onsize()在MFC中的调用?
我现在需要对窗口的变化做出响应,但是对于系统什么时候调用Onsize()不清楚。我在程序运行前需要弹出一个对话框,可是在这个过程中调用了好几次Onsize(),导致出错!rnrn我想知道在MFC单文档结构中,初始化过程中可能会调用几次Onsize()呢?rnrn谢!
MFC自绘窗口的时候,OnSize
void CDialogEx::OnSize(UINT nType, int cx, int cy) { CDialog::OnSize(nType, cx, cy); //计算偏移 INT nYPos=1; INT nXPos=cx-nCloseWidth; //设置位置 m_rcButton[BST_CLOSE].SetRect(nXPos,
MFC OnSize事件调用时间
在Ocx控件被加载时,第一次调用OnSize事件实在控件中的各个部件未加载前,此时如果操作控件中的控件会出现控制针异常,需要提前判断。 CTestDlg m_dlg; int CTestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (COleControl::OnCreate(lpCreateStruct) ==
MoveWindow后OnSize没被调用的原因:WM_GETMINMAXINFO限制了
void CMainFrame::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { //调整最小高度与宽度,如果需要的话 lpMMI->ptMinTrackSize.x = 640; lpMMI->ptMinTrackSize.y = 480; //调整最大高度与宽度,如果需要的话 lpMMI->ptMaxTrackSize.x = 1366; lpMMI->
movewindow
你好:rn 我想在对话框模式下,在对话框的某个Rect位置显示另外的对话框如何做?rn DiaExam exam; rn CRect rect;rn exam.Create(IDD_DIALOG1,this);rn GetClientRect(&rect);rn exam.MoveWindow(10,10,100,100,false);rn exam.ShowWindow(SW_SHOW);rn exam.SetFocus();rn 为何以上语句不行?
求助:主窗口的OnSize()中用子窗口的指针调用MoveWindow(),子窗口的OnSize()没有响应
拖动主窗口时需要子窗口大小随之改变,但是在主窗口的OnSize()中用子窗口的指针调用MoveWindow()后,子窗口的OnSize()没有响应。查了一下微软官网上有人说是64位操作系统,当窗口嵌套过深时,MoveWindow()可能不会触发OnSize()。按上面说的解决方法改用OnWindowPosChanged()也只是部分窗口有效果。rn请问有没有人遇到过这种情况?应该怎么解决?
OnSize
请问在VC中OnSize消息响应函数中我用GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect);怎么运行不起来rn一运行就出错 能不能介绍几个类可以方便的移动控件和改变编辑框的大小
关于MOVEWINDOW()的问题,敬请指教
我想做个类似WPS一样的视图,即视图的客户区在中间,旁边是灰灰的,我用了MOVEWINDOW(),可框架窗口区仍是白的(SDI),请问应怎做?
关于MoveWindow的问题,求解
自己做个简单播放器,为了能调节控件大小,调用了MoveWindow()函数,在编译连接的时候没有出错,但是在运行程序时,弹出个对话筐:提示:Debug Assertion Failed!终止,重试,忽略,如果点忽略,程序照常执行,一点问题没有,下面是原代码rnvoid CWangweiDlg::OnSize(UINT nType, int cx, int cy) rnrn CDialog::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern m_OCX.MoveWindow(0, 0, cx, cy);rnrn请问这是什么原因?
关于movewindow的疑问
在一个基于对话框的程序中rnrn在初始化函数中rnrn CRect rcDlg;rn1 GetWindowRect(rcDlg);//这个值是(0,0,200,300)单步观察的rn2 然后moveWindow(rcDlg);rn看了MSDN上的说明,我的理解是GetWindowRect获得的是相对于显示器屏幕左上点的矩形坐标,然后显示出来后却显示到了中间。rn而修改rcDlg的各个属性,使左上都设为1,那窗口确实会显示在屏幕的左上点去。rnrn现在我对这两个函数都有些疑惑,请大家告诉 我哪里理解的不对 !谢谢
MoveWindow
单文档,FormView类型的。。rn我想当主窗口最大化后,让视图区的Dialog及控件也跟着改变大小。rn让它们和主窗口的相对大小不变。rnrn所以我想到了用MoveWindow(); ,在OnSize里面处理。rnrn请问,在MainFrm的OnSize,或者在CXXView 的OnSize处理,是一样的吗?rnrn此时应该怎样计算视图区Dialog以及控件的新位置呢?rnrn或者有更好的解决方法。。rn谢谢了。。~~~~~~~~rnrn
关于CWnd::MoveWindow()的理解?
我创建了一个单文档程序,并添加了一个菜单响应事件,事件创建了一个非模态的对话框,并显示在单文档程序的左下角,我是在CMainFrame类里面处理的菜单响应事件,显示对话框前,调用GetWindowRect(&rect)得到单文档程序的位置,然后移动pColourDlg->MoveWindow(rect.left,rect.bottom,rect.Width()/2,70);对话框刚好在左边底部显示,左边与单文档程序左边缘对齐,我的疑问是movewindow函数中的坐标应该是相对于父窗口的,创建这个对话框时指定其父窗口为CMainFrame,且rect.left并不等于0,为什么对话框会与单文档左边对齐,而不是应该偏移rect.left的位置吗?
关于对话框的OnSize的问题
对话框为WS_POPUP的,Border为Resizingrnrn有最大化按钮,窗口在创建的时候是先发WM_INITDIALOG消息还是先发WM_SIZE消息啊?rn我在窗口中有个Group Box控件,想使他随窗口大小的改变而改变自己的大小来适应窗口。在窗口类中定义了一个CRect m_rectDlgClient;并在OnInitDialog()中rnGetClientRect(&m_rectDlgClient);rnrn然后在OnSize函数中加入rnvoid CXXXDlg::OnSize(UINT nType, int cx, int cy) rnrnrn CDialog::OnSize(nType, cx, cy);rn CRect rect;rn if ((m_rectDlgClient.Width() != 0) && (m_rectDlgClient.Height() != 0) && (nType != SIZE_MINIMIZED))rn rn GetDlgItem(IDC_GROUPBOX)->GetWindowRect(&rect);rn ScreenToClient(&rect);rn rect.SetRect(rect.left,rect.top,rect.right+cx-m_rectDlgClient.Width(),rect.bottom);rn GetDlgItem(IDC_GROUPBOX)->MoveWindow(&rect);rn rn rn if (nType != SIZE_MINIMIZED) rn rn GetClientRect(&m_rectDlgClient);rn rnrn为什么我在Debug模式下面运行就是正常的,而在Release模式下运行的时候说rn内存不能读啊?在这一句GetDlgItem(IDC_GROUPBOX)->GetWindowRect(&rect);rn的时候出错。。。rn而把窗口风格改成Overlapped就可以正常运行,Popup的对话框和Overlapped的对话框有什么区别吗?rnrn我在Release下在OnInitDialog和OnSize函数中设置断点时,程序是先在OnSize中先断的,请问大家是怎么回事啊?rnrn能不能给一个关于对话框的OnSize处理的例程,谢谢大家了
vc6.0的问题(关于MoveWindow)
#includern#includern#include"resource.h"rn#includern#define IDC_EDIT1 1000rnrnclass MainApp : public CWinApprn virtual BOOL InitInstance();rn;rnrnMainApp theApp;rnrnclass MainWindow : public CFrameWndrnprivate:rn CMenu * menu1;rn CEdit * edit1;rnpublic:rn MainWindow();rn ~MainWindow();rnprotected:rn afx_msg void OnSize(UINT nType,int cx,int cy);rn DECLARE_MESSAGE_MAP()rn;rnrnBEGIN_MESSAGE_MAP(MainWindow,CFrameWnd)rnON_WM_SIZE()rnEND_MESSAGE_MAP()rnrnrnrnBOOL MainApp::InitInstance()rn m_pMainWnd = new MainWindow();rn m_pMainWnd->ShowWindow(m_nCmdShow);rn m_pMainWnd->UpdateWindow();rn return TRUE;rnrnrnMainWindow::MainWindow()rn CRect r1;rnrn Create(NULL,rn "Notepad",rn WS_OVERLAPPEDWINDOW,rn rectDefault,rn NULL);rn //MAKEINTRESOURCE(IDR_MAINMENU)rn menu1 = new CMenu();rn menu1->LoadMenu(IDR_MAINMENU);rn SetMenu(menu1);rn DrawMenuBar();rnrn GetClientRect(&r1);rnedit1 = new CEdit();rn edit1->Create(WS_HSCROLL|rn WS_VSCROLL|WS_CHILD|WS_VISIBLE|rn WS_BORDER|ES_AUTOHSCROLL|ES_AUTOVSCROLL|rn ES_MULTILINE|ES_NOHIDESEL,rn r1,rn this,rn IDC_EDIT1);rnrnrnvoid MainWindow::OnSize(UINT nType,int cx,int cy)rn CRect rc;rn GetClientRect(&rc);rn assert(edit1);rn edit1->SetWindowPos(edit1,rc.left,rc.top,cx,cy,TRUE);rnrn //(rc.left ,rc.top ,(rc.left + rc.Width()),(rc.top + rc.Height() ), TRUE);rnrnrnMainWindow::~MainWindow()rn //deleternrnrnrnrn请问各位高手。为什么运行到这里edit1->SetWindowPos(edit1,rc.left,rc.top,cx,cy,TRUE);rn就会出错呢?
关于MoveWindow的问题
在我使用MoveWindow函数时,当我把左上角全部设置为0的时候,系统把窗口移到了屏幕中央,而不把左上角的值设置成0时,系统可以正确移动窗口,为什么?(VC6.0)
关于MoveWindow的问题!
void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE );rn最后一个选TRUE与选FALSE的区别?
关于OnSize函数的疑问
想实现控件大小随窗口大小的改变而改变,于是采用OnSize函数实现,调试时发现第一次传入的参数cx、cy是正确的,但第二次传入的cx、cy却变成了0,而此时窗口都还没呈现,为什么传入的参数是0呢?
关于OnSize函数的问题!
CFromView 对象为什么任何操作 首个参数为什么一直是0啊.rn按照MSDN 可不是这么说的.
关于movewindow的问题。
小妹初学VC,现想把一幅位图至于屏幕中央显示,且不论显示器的大小都能在中央显示,敬请各位高人指点,感激不尽。。。
关于MoveWindow()函数
我有一个CWnd的派生类,为什么用MoveWindow()和SetWindowPos()函数将它的尺寸由大变小时,它能显示出变化结果,而尺寸从小变大时,却毫无变化?
Apach服务器与Tomcat服务器关系梳理
现在都说把项目部署在Tomcat服务器上,Tomcat服务器可以处理动态请求和静态资源,足以完成一个web项目的搭建,但是项目大了以后Tomcat服务器压力必然增加,所以现在部署项目的服务器一个比较好的选择就是Apach和Tomcat组合的服务器,Apach服务器负责处理静态资源返回给客户端,Tomcat服务器负责处理动态请求生成静态资源给Apach服务器再由Apach服务器返回给客户端,这样就可...
JVM,HotSpot和JIT关系梳理
像JAVA以及.net这种跨平台语言,之所以能够屏蔽平台特性,是因为它们的源码被编译成.class文件后,由虚拟机解释执行,当然扩展一下,JAVA在jdk8以后是编译与解释混合执行模式,当然最重要的还是虚拟机的解释执行。 提到虚拟机不能只想到JVM,JVM只是JAVA虚拟机,JVM只解释JAVA源码编译后的.class文件。而虚拟机还有其他种类,比如.net的虚拟机是CLR。所以JVM全程是JA...
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法