一个有关MFC的OnSize和MoveWindow结合的问题

是不是调用OnSize,MFC系统就会调用MoveWindow函数,而不需要再另外调用了呢?

mfc
0

2个回答

说反了,调用MoveWindow会触发wm_size消息,从而触发onsize函数

0

MoveWindow sends the WM_WINDOWPOSCHANGING, WM_WINDOWPOSCHANGED, WM_MOVE, WM_SIZE, and WM_NCCALCSIZE messages to the window.

0
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关系的梳理
请问MFC中既然写了OnSize,为什么还要写 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无法看见,加的话就出错,但不知道错在何处,请高人指教
有关OnSize的问题??
为什么我的窗口在进行OnSize的时候,窗口不会随着变化,只有当鼠标左键最后弹起时,才显示出最后改变的结果??到底可能是什么原因呢?rnrn我的窗口是个Wnd,不是Dlg,窗口的属性为 rn cs.style = WS_POPUPWINDOW|WS_SIZEBOX;rn cs.dwExStyle = WS_EX_NOACTIVATE;rnrn老大们,帮帮忙吧~~~
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]
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出错
我在从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()出错、??
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函数的问题
今天在创建duik
问一个MoveWindow的问题
我有一个childFrame带了一个scrollview,然后在childframe的cpp里用如下的语句,发现每次movewindow之后,frame再得到的client变小。rnCRect rcClient(0,0,0,0);rnGetClientRect( &rcClient ); //这是初始的client大小rnMoveWindow( rcClient );rnGetClientRect( &rcClient ); //这里再获得其client大小的时候,比刚开始的client要小。rnrn请问为什么?多谢
MoveWindow的一个问题
我在对话框中用MoveWindow 函数移动一个按钮以实现动画效果,可是按钮在移动的过程中,有部分被遮掩,不能完全显示,请教如何解决这个问题
一个在OnSize里的问题
在框架类的OnSize()函数中设定了分割视图的相对大小比例。拖动窗口的时候各视图可以随窗口等比例的放大或缩小。但是在按下最大化、还原按钮后却不可以实现按照等比例的改变。rnrn在OnSize()函数中加入了RecalcLayout()后就解决了这个问题。rnrn我想问:为什么拖动的时候不加RecalcLayout()没事,而最大化的时候不加RecalcLayout()就不能正常的显示呢?
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的问题
void CMyDlg::OnSize(UINT nType, int cx, int cy)rnrn CDialog::OnSize(nType, cx, cy);rn m_clistbox.MoveWindow(0,0,cx,cy,TRUE);rnrnrnrn我的消息出来函数使列表框在窗口大小改变以后,充满整个窗口,rn以上函数书写错了么?rn
MoveWindow的问题:
一个对话框程序,放了一个文本框IDC_OUTPUT_PATH,在一个按钮的事件中写如下的代码,对话框就移动位置了,这是为什么?rn CRect rect1;rn GetDlgItem(IDC_OUTPUT_PATH)->GetClientRect(&rect1);rn GetDlgItem(IDC_OUTPUT_PATH)->ClientToScreen(&rect1);rn GetDlgItem(IDC_OUTPUT_PATH)->MoveWindow(&rect1);
MoveWindow的问题?
应用中有一对话,对话上放置有CStatic控件(用户可移动),对话退出时记录控件位置(GetWindowRect()得到);对话再次显示时,按记录位置显示控件(MoveWindow());rn根据我的理解,MoveWindow()移动窗口(控件)位置是相对于父窗口的,所以:rnrn已知:CStatic控件位置CRect MoveRect;rn在dlg的WM_SHOWWINDOW消息处理中:rnrnCRect pParentWndRect;rnGetWindowRect(&pParentWndRect);rnCStatic *pMoveWnd;rnpMoveWnd=(CStatic *)GetDlgItem(IDC_STATIC_CTL1);rnpMoveWnd->MoveWindow(MoveRect.left-pParentWndRect.left,rn MoveRect.top-pParentWndRect.top,MoveRect.width(),MoveRect.height());rnrn但控件位置有时正确,有时不正确,我自己也觉得我的方法不正规,但又没有更好的办法,请指点!rn
MoveWindow问题
重载了MoveWindow,void MoveWindow( int x, int y, int nWidth, int nHeight, BOOL bRepaint = TRUE ); rn然后在OnInitDialog()中加入了 MoveWindow(0,0,400,300);rn运行时系统报错rn23Dlg.obj : error LNK2001: unresolved external symbol "public: void __thiscall CMy23Dlg::MoveWindow(int,int,int,int,int)" (?MoveWindow@CMy23Dlg@@QAEXHHHHH@Z)rnDebug/23.exe : fatal error LNK1120: 1 unresolved externalsrnError executing link.exe.rnrn希望众位帮忙~
Onsize问题
切分窗口后用onsize控制比例 可出现问题 不知道怎么回事rnrnrnMFCSDI.exe 中的 0x782b8375 (mfc80d.dll) 处未处理的异常: 0xC0000005: 写入位置 0x00000004 时发生访问冲突 rnrnrn在线等呀 rnrnrnrnBOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)rnrn // TODO: 在此添加专用代码和/或调用基类rn CRect rect;rn GetClientRect(&rect);rnm_wndSplitter.CreateStatic(this, 2, 2 ); rnm_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CshowView1), CSize(rect.Width()/2,rect.Height()/2), pContext);rnm_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CshowView2), CSize(rect.Width()/2,rect.Height()/2), pContext);rnm_wndSplitter.CreateView(1, 0, RUNTIME_CLASS(CMshowView3), CSize(rect.Width()/2,rect.Height()/2), pContext);rnm_wndSplitter.CreateView(1, 1, RUNTIME_CLASS(CshowView4), CSize(rect.Width()/2,rect.Height()/2), pContext);rnm_bSplitterCreated=TRUE;rn return TRUE;rn rnrnrnvoid CMainFrame::OnSize(UINT nType, int cx, int cy)rnrn CFrameWnd::OnSize(nType, cx, cy);rnrnrn CRect rect1;rnrn GetClientRect(&rect1);rnrn if (m_bSplitterCreated)rnrn rn m_wndSplitter.SetRowInfo(0,rect1.Height()/2,10);(出错)rn m_wndSplitter.SetRowInfo(1,rect1.Height()/2,0);rn rnrn m_wndSplitter.SetColumnInfo(0,rect1.Width()/2,0);rn m_wndSplitter.SetColumnInfo(1,rect1.Width()/2,0);rnrn rnrn rnrn rn m_wndSplitter.RecalcLayout();rnrn
OnSize问题?
我 要让group box 里的控件随窗口的变化而变化rn如何实现?rn
有关MFC的一个问题~~(zx_sanjin)
MFC中的afx_msg(小写的)关键字在C++中的语言是怎样体现的?或者说是什么类型的? 在消息响应函数中大都使用的是这种类型`~ ~~
有关MFC ClassWizard 的一个问题!
1、从CToolBar上继承的类,为什么不能通过ClassWizard进行消息映射?rn(在ClassWizard 中找不到这个类)rn2、在我下载的一个源码中,当我想单击右键,想把ClassWizard 调出来是,却出现rnrn“.clw文件不存在,是否从源文件中建立?”rnrn这是什么原因呀?如何解决呢?
求助!有关MFC的一个问题!!
这事让我纠结好久,我目前正在做一个信息管理系统,我用了list ctrl这个控件,然后我在同一个dialog里面添加了两个编辑框控件和一个list ctrl控件,我的listctrl控件用的是report样式(就是像资源管理器那种样子的),我想用一个按钮,然后点下去以后,两个编辑框控件里面的内容,会显示在listctrl里面,我在那个按钮的响应函数下面写了rnrnm_list.InsertItem(0,m_add1);rn m_list.SetItemText(0,2,m_add2); 这两句话,m_add1和2都是编辑框的成员变量,m_list是list ctrl的成员变量,但是这样弄好之后,我在编辑框里面输入内容,然后listctrl里面并不会显示出来,请问这是为什么。希望各位高手能帮帮忙。
关于CEdit::MoveWindow()的一个问题
我按照例子做的一个小测试:rn创建一个基于对话框的程序,然后加入一个CEdit控件,并且绑定一个CEdit对象m_MyEdit.rn在CMyDlgExDlg的OnSize函数中加入如下代码:rnrnvoid CMyDlgExDlg::OnSize(UINT nType, int cx, int cy)rnrn CDialog::OnSize(nType, cx, cy);rn CRect MyRect;rn GetClientRect(MyRect);rn m_MyEdit.MoveWindow(100,100,200,110); rnrnrn编译通过,但是出现断言错误。如果忽略错误,程序可以正常运行。rn就是这么很简单的一段代码,请教为什么会报错?例题确可以正确运行。rn后来,我把例题的代码原封不动的替换我这个程序的代码,还是报错。最后发现是如果把例题的MyDlgEx.suo,MyDlgEx.suo.old,MyDlgEx.ncb这三个文件拷贝进来就能正常运行了。难道是版本问题?rn我的版本是vs2008。rn但是即便是版本问题,实在想不通为什么会报错。。。。
一个有关vb和mfc的问题
最近要写软件工程的课程设计,要求有图形界面化的实现,不过我们没有学过界面,老师说让我们自学vb,我们学的语言是c++,这vb能用么?而且我最近在学mfc,所以在纠结是用vb还是mfc,给个答案吧,小女纸不胜感激!
MoveWindow的问题.
//m_ok为Button对象,我要把它向上移动50像素.为什么执行下面的代码后,按钮不见了.是程序有问题吗?应该怎样移动按钮呢.rnm_ok.GetWindowRect(&r);rnr.top=r.top-50;rnr.botton=r.botton-50;rnthis->m_ok.MoveWindow(r);
有关onsize问题_高分有送.
我的程序要改变整个窗口的大小时.我要视图的大小一起变(cfromview类).rn我要怎样做?
问一个关于ONSIZE的问题
我想ONSIZE()中有如下代码,为什么作图区域成了完全透明的呢,求解答! rnvoid CScribbleView::OnSize(UINT nType, int cx, int cy) rnrn CView::OnSize(nType, cx, cy);rn MoveWindow(500,500,500,500,1);rn rn // TODO: Add your message handler code herern rn
在MFC SDI程序中,OnSize()问题
[color=#FF0000]描述:rn我创建了一个MFC SDI程序,用CSplitterWnd分割成了左右两部分,我在左边部分的CLeftView上面创建了一个CTabCtrl,父窗口是CLeftView,CTabCtrl铺满CLeftView窗口,但是当我放大/缩小这个SDI程序的时候,可以看到CLeftView是在同步放大/缩小的,但是我的CTabCtrl的大小没有变化,请问,如何操作,可以使SDI程序窗口放大和缩小的时候,左边视图CLeftView中的CTabCtrl也跟着放大缩小?[/color]
MFC中 的OnSize被调用的问题
MFC中 的OnSize、OnCreate、OnPaint、OnInitDialog()先后调用顺序及关系??尤其是OnSize什么时候被调用?调用几次啊?rnrn有别人的个对话框程序,程序开始有这一句enum IDD = IDD_CMS_CONTROLCLIENT_DIALOG ;呵呵有这一句我就知道使用这个ID的对话框做资源的,但是问题来了,在rnCRect rectClient(0,0,0,0);rnGetClientRect(&rectClient); 发现rectClient与IDD_CMS_CONTROLCLIENT_DIALOG大小不一样的。我估计这个值是从OnSize里来了的,但是不知道OnSize里的参数又是从哪里来的?请指教!!(这个类是继承的)rnrnrnOnSize(UINT nType, int cx, int cy)中的x,y值是从哪里传进来的?
注意mfc下oninitdialog()和onsize()的调用顺序
BOOL dddd::OnInitDialog(){       // 代码区1      CDialog::OnInitDialog();     // 注:句1       // 代码区2} void dddd::OnSize(UINT nType, int cx, int cy){} 猜测:在程序调用的时候,OnInitDialog函数与OnSize()应该相
MFC 窗口自动填充 消息Onsize()
void CRightView::OnSize(UINT nType, int cx, int cy){ CFormView::OnSize(nType, cx, cy); // TODO: 在此处添加消息处理程序代码 CSize sizeTotal; sizeTotal.cx = cx; sizeTotal.cy = cy; SetScrollSizes(MM_TEXT, sizeTotal...
请问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) ==
初学MFC 关于MoveWindow有疑问
就是我用MoveWindow来控制鼠标移动图片时原来的图片没有被删除(就是整个屏幕拖动的都是这个图片了),请问为什么?谢谢
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 为何以上语句不行?
itk与MFC结合的问题
各位,我想把ITK中的分割例程和MFC结合,用鼠标获取种子点, 并单击按钮分割。在通过编译和链接之后,出现如下问题:rnrn[img=C:\Documents and Settings\揭发\桌面\QQ截图未命名.png][/img]
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo