MFC 的onsize函数不响应 [问题点数:40分,结帖人xianglitian]

Bbs1
本版专家分:0
结帖率 66.67%
Bbs2
本版专家分:348
Bbs8
本版专家分:42916
Blank
黄花 2013年6月 移动平台大版内专家分月排行榜第二
Blank
蓝花 2013年2月 移动平台大版内专家分月排行榜第三
Bbs6
本版专家分:6346
Bbs6
本版专家分:6346
Blank
红花 2019年1月 扩充话题大版内专家分月排行榜第一
2018年3月 产品/厂家大版内专家分月排行榜第一
2013年1月 扩充话题大版内专家分月排行榜第一
Blank
黄花 2019年2月 扩充话题大版内专家分月排行榜第二
Blank
蓝花 2013年7月 VC/MFC大版内专家分月排行榜第三
2011年12月 VC/MFC大版内专家分月排行榜第三
Bbs10
本版专家分:140791
版主
Blank
微软MVP 2013年10月 荣获微软MVP称号
2012年10月 荣获微软MVP称号
2011年10月 荣获微软MVP称号
2010年10月 荣获微软MVP称号
Blank
红花 2012年4月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年5月 VC/MFC大版内专家分月排行榜第二
2012年3月 VC/MFC大版内专家分月排行榜第二
2011年7月 VC/MFC大版内专家分月排行榜第二
2011年1月 VC/MFC大版内专家分月排行榜第二
2010年12月 VC/MFC大版内专家分月排行榜第二
2010年9月 VC/MFC大版内专家分月排行榜第二
2010年6月 VC/MFC大版内专家分月排行榜第二
2010年5月 VC/MFC大版内专家分月排行榜第二
2010年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2010年11月 VC/MFC大版内专家分月排行榜第三
窗口大小变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo
最近用到窗口变化的一些东西,遇到几个相关的消息<em>函数</em>,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理<em>函数</em>:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFOWM_SIZINGWM_SIZE。
MFC Onsize()函数的作用
翻阅无数博客,有少数博友通过打出每次获得的  cx,cy  发现其中,竟有0,0值。 而后,一位博友提出:       在OnSize()中,调用重绘<em>函数</em>,       再在OnPaint()中,进行窗口大小的调整 或 重定位。而未说明理由。 我经过尝试,再在OnPaint()中取出cx,cy值时,发现没有0,0的情况, 因此假想认为:         OnSize()在窗口从创建
onsize函数
IDD_HELLO_DLG DIALOGEX 0, 0, 386, 226rnSTYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | rn WS_CAPTION | WS_SYSMENU | WS_THICKFRAMErnEXSTYLE WS_EX_OVERLAPPEDWINDOWrnCAPTION "Hello World"rnFONT 8, "MS Shell Dlg", 400, 0, 0x1rnBEGINrn DEFPUSHBUTTON "OK",IDOK,329,204,50,14rn LTEXT "Ser:",IDC_NAME,7,18,347,24rn LTEXT "Des:",IDC_SERVICE_DESCRIPTION,7,42,39,17rn LTEXT "Static",IDC_SORT,7,59,372,145,WS_BORDER,rn WS_EX_CLIENTEDGErnENDrnrn上面是对话框,我想知道怎么写<em>onsize</em><em>函数</em>比较好,本来想用ONSIZE的长和宽与以前的比,然后设定位置,后来发现movewindow的参数都是int,所以不行rn清问应该怎么写好?
MFC中OnInitDialog与OnSize函数谁先调用
BOOL CMatchingDlg::OnInitDialog() { &amp;nbsp;&amp;nbsp; &amp;nbsp;AfxMessageBox(“haha OnInitDialog”); CDialog::OnInitDialog(); } void CMatchingDlg::OnSize(UINT nType, int cx, int cy) { &amp;nbsp; AfxMessageBox(“hah...
OnSize函数失效了?
CListView类中响应WM_SIZE消息的<em>函数</em>OnSize为什么失效了?rn 情况是这样的:rnrn 在MDI中使用工程自动生成的菜单"新建",在新生成的视图中动态生成的CListCtrl会随着文档的大小而改变。rn 但是,如果我自己做一个菜单来实现新建功能,新生成的视图中动态生成的CListCtrl就不会随着文档的大小而改变。为什么?rn 代码如下:rnvoid COoView::Onpp() rnrn // TODO: Add your command handler code herern CMainFrame *pFrame = (CMainFrame *)AfxGetApp()->m_pMainWnd;rn COoView* pView;rn CMDIChildWnd *pChild = (CMDIChildWnd *) pFrame->GetActiveFrame(); rn rn pFrame->SendMessage(WM_COMMAND, ID_FILE_NEW, 0);rn pView = (COoView *)pChild->GetActiveView();rnrn COoApp *pWinApp=(COoApp *)AfxGetApp();rn POSITION posTemp,posDoc,posView;rn posTemp = pWinApp->GetFirstDocTemplatePosition();//第1个模板位置rn CDocTemplate *pDocTemplate=pWinApp->GetNextDocTemplate(posTemp);//第1个模板rn posDoc=pDocTemplate->GetFirstDocPosition();//第1个模板中第1个文档位置rn CDocument *pDocument;rn dorn rn pDocument=pDocTemplate->GetNextDoc(posDoc);//第1个模板中第posDoc个文档rn posView=pDocument->GetFirstViewPosition();rn pView=(COoView *)pDocument->GetNextView(posView);rn rn while(posDoc!=NULL);rn ....rnrnrnvoid COoView::OnSize(UINT nType, int cx, int cy) //使列表框随着滚动条的变化而变化rnrn CListView::OnSize(nType, cx, cy);rn rn // TODO: Add your message handler code herern CRect rect;rn GetClientRect(&rect);rn cx=rect.right;rn cy=rect.bottom;rn rn if (m_pList->GetSafeHwnd())rn m_pList->MoveWindow(0, 0, rect.right, rect.bottom);rnrn int w = cx - 2;rn int colwidths[6] = 30, 44, 42, 49, 48, 43 ; // sixty-fourthsrnrn int total_cx = 0;rn int n = m_pList->GetColumns();rnrn // adjust columnsrn for (int i = 0; i < n; i++)rn rn int colwidth = (i == (n - 1)) ? w - total_cx - 2 : (w * colwidths[i]) / 64;rn total_cx += colwidth;rn m_pList->SetColumnWidth(i, colwidth);rn rn rn
关于OnSize函数的疑问
想实现控件大小随窗口大小的改变而改变,于是采用OnSize<em>函数</em>实现,调试时发现第一次传入的参数cx、cy是正确的,但第二次传入的cx、cy却变成了0,而此时窗口都还没呈现,为什么传入的参数是0呢?
OnSize()与OnPaint()的问题!
问题背景: 我把对话框设置成了可以放大和缩小,放大和缩小的同时缩放我绘制的图形。 我发现一个问题,如果我扩大对话框的话系统就可以调用OnPaint(),如果我缩小对话框的话系统就不会调用OnPaint
MFC程序,在OnSize函数中怎么才能自动缩放
-
窗口变化相关消息 OnSize、OnSizing和OnGetMinMaxInfo
最近用到窗口变化的一些东西,遇到几个相关的消息<em>函数</em>,简要分析,作为备忘。 3个消息分别是:WM_SIZE、WM_SIZING、WM_GETMINMAXINFO;分别对应相应的处理<em>函数</em>:OnSize、OnSizing、OnGetMinMaxInfo。 当窗口大小发生变化时,响应的顺序依次是:WM_GETMINMAXINFOWM_SIZINGWM_SIZE。   OnGetMi
函数onsize()与onsizing()区别
OnSize是控件大小发生变化后发给你的消息,你可以得到控件将要变成多大(cx和cy指定),OnSizing是正在改变的大小,例如用户点击着鼠标拖放一个控件的大小,这个时候就收到OnSizing了它们都是CWnd类的成员<em>函数</em>. OnSize()在窗口尺寸修改后被框架<em>函数</em>调用,<em>函数</em>原型是: afx_msg void OnSize( UINT nType, int cx, int c
函数onSize()的问题
各位高手:rn 我碰见一个问题:我不知道控件的onSize()是什么时候系统调用的:是控件在创建完成而没有显示的时候吗?rn 还有我想对控件的字体进行设置.所以使用了WM_SETFONT消息,但我在onSetFont()<em>函数</em>里设置了新的字体之后,控件的字体并没有变,为什么呢?
关于OnSize函数的问题!
CFromView 对象为什么任何操作 首个参数为什么一直是0啊.rn按照MSDN 可不是这么说的.
MFC CListCtrl 设置高度,MeasureItem函数不响应
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
MFC中非模态对话框不响应PreTranslateMessage函数的解决方法
程序员真心不容易啊,为了一个好的用户体验真可谓是操碎了心。今天由于项目需要,需要在非模态对话框上,当鼠标处于某个位置的时候有提示框显示。实现这个功能本来很简单,但是却遇到了一个郁闷的问题:PreTranslateMessage<em>函数</em>没响应。于是各种度娘,可惜度娘非谷歌,找了一个小时终于在一个隐蔽的地方找到了解决方法。     首先我介绍下当鼠标处于特定位置的时候有提示信息显示的实现方法。
MFC 模式对话框 不响应PreTranslateMessage消息函数
很奇怪,我做了一个简单的对话框例子,包含了编辑框控件,而且焦点在编辑框,这样也是可以响应PreTranslateMessage<em>函数</em>的。rn但是工程里面却响应不了。。
为什么我的OnSize函数执行了三次?请教一下
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) { // TODO: Add your
MFC关于获取子窗口CWnd
-
OnSize(UINT nType, int cx, int cy)
这样得到的cx,cy是不是屏幕的宽度和高度?和GetSystemMetrics又有什么区别呢?我想设计一个任何像素的屏幕都能正常显示的界面,该用哪个<em>函数</em>?
VC中使用OnSize函数,设置控件位置的注意事项
VC在OnSize<em>函数</em>中可以根据当前窗口的大小,来改写窗口里面子控件的位置、大小。 但是注意,OnSize在窗口启动过程中,会多次被调用,所以,不能简单的在该<em>函数</em>中调用GetDlgItem()获取子控件的窗口指针。 最简单的方式,设置一个全局变量,初始化时设置为FALSE,在OnInitialUpdate()或者OnInitDialog()后将其设置为TRUE,在OnSize<em>函数</em>里使用GetD
对话框OnSize 自动调整控件大小和位置
对话框执行<em>onsize</em>消息时根据参数自动调整对话框上的控件大小和位置到合适位置,对话框执行<em>onsize</em>消息时根据参数自动调整对话框上的控件大小和位置到合适位置。
MFC CAsyncSocket的OnAccept函数不响应问题!急
客户端链接时,服务器端OnAccept<em>函数</em><em>不响应</em>致使程序连接失败?谁遇到过这样的问题,如何解决?rn rn
请问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 OnDropFiles 不响应问题?
rn[code=c]ON_WM_DROPFILES()rn.................................rnvoid CMFCApplication1View::OnDropFiles(HDROP hDropInfo)rnrn // TODO: 在此添加消息处理程序代码和/或调用默认值rn CFormView::OnDropFiles(hDropInfo);rnrnrnBOOL CMFCApplication1View::PreTranslateMessage(MSG* pMsg)rn rn// CDialog d;rn if(::TranslateAccelerator(m_hWnd,hAccel,pMsg))rn return TRUE;rn// return d.PreTranslateMessage(pMsg);rn if(pMsg->message == WM_DROPFILES)rn rn int i = 0;rn rn return CFormView::PreTranslateMessage(pMsg);rnrnrn......................................[/code]rnDialog 和 List control 里面的属性 Accepet Files 均设置为 TRUErn当我拖拽文件是OnDropFiles 是不会响应的。在PreTranslateMessage 能捕捉到WM_DROPFILES信号!rn 小白求助大神!!!
OnSize (UINT nFlags, int cx, int cy)事件的 cx 与 cy 中保存的是改变前的范围还是改变后的范围啊?
OnSize (UINT nFlags, int cx, int cy)事件的 cx 与 cy 中保存的是Window改变大小前的范围还是改变后的范围啊?我在 OnSize 事件中处理 SCROLL,
一个CWnd对象的onpaint函数中,动态Create两个子窗口时造成wincore.cpp中的断言错误。
-
MFC窗体消息之尺寸被改变 OnSize()
在窗口的大小更改后,框架调用该成员<em>函数</em>。 afx_msg void OnSize(    UINT nType,     int cx,     int cy  ); 参数nType 指定请求的调整大小的类型。  此参数可以是下列值之一:     SIZE_MAXIMIZED 窗口最大化。     SIZE_MINIMIZED 窗口最小化。    SIZE_RESTOR
对话框的OnSize()和OnWindowPosChanged()的理解
最近的项目是一个对话框的项目,之前没有做过这种项目,
关于void CMainFrame::OnSize(UINT nType, int cx, int cy) 的使用?
对这条语句不是很明白,请懂得的大侠给介绍一下。。。 void CMainFrame::OnSize(UINT nType, int cx, int cy) { CFrameWnd::OnSize(nT
MFC,EditControl的EN_CHANGE不响应
用过PreTranslateMessage处理,用过设置风格,到头来,同样是Edit控件,为什么就这个不好用,很是费解。rn我新建控件,但是ID相同就不行,为什么,查看过.rc文件,没有问题啊,resource文件也没问题,就是不知道单单这一个edit控件<em>不响应</em>这一个EN_CHANGE事件,其他事件也都正常响应,请高手解答
OnSize
请问在VC中OnSize消息响应<em>函数</em>中我用GetDlgItem(IDC_BUTTON1)->GetWindowRect(&rect);怎么运行不起来rn一运行就出错 能不能介绍几个类可以方便的移动控件和改变编辑框的大小
OnSize函数的疑问----在线等。
为什么,我在OnSize<em>函数</em>中对控件操作时,总是在m_hWnd出错,它总为空。rn例如:rn CRect rect;rn GetClientRect(&rect);rn m_btnOK.MoveWindow(sx-rect.Width(),sy-rect.Height(),rect.Width(),rect.Height());rnrn这时,在movewindow<em>函数</em>中,m_hWnd就为空,但将它放在别的<em>函数</em>中就可以,难道此时控件对象还没有创建吗?
这个onsize函数怎么写?
我在view类里画的线条,怎么让它随着窗口大小的改变长度也发生改变?
MFC使用Class Wizard重载视图类的OnCreateClient()和OnSize()函数
[size=16px]视图类的OnCreateClient()和OnSize()<em>函数</em>,,,只有CMainFram类中有OnCreateClient()<em>函数</em>但是整个<em>函数</em>库中招不到OnSize()<em>函数</em>,,为什么 自己创建的话 <em>函数</em>起步了作用。。求大哥大姐们指点指点啊,需要界面分割的rn用的是VC++6.0[/size]
MFC窗口怎么显示halcon采集到的图片
-
JButton 图片 改变位置
-
mfc子窗体OnSize后,最小化还原,控件全没了
一个程序中,创建了一个非模态对话框,为了更加方便,我设置了这个对话框能自由调整窗口大小,控件随之而变大 void Cdialogservice::OnSize(UINT nType, int cx,
诡异的MoveWindow!!!OnSize()无响应
现象是这样: 当主对话框的大小发生改变时,我在OnSize()里对子控件进行了重新排列。 调用 m_pChild->MoveWindow(&rcChild, TRUE); 调整子控件大小。 诡异的是:
有关于MFC中OnSize函数用到控件变量的问题
我用MFC编辑了一个界面,其中在一个静态控件的CRect上显示一个子对话框,现在有个问题,我设置可以改变对话框大小,在改变对话框大小的时候,同时改变控件的大小并改变子对话框的大小,现在有个问题,就是改变子对话框大小时在OnSize<em>函数</em>是要提取静态控件的CRect时弹出一个Debug错误,中断后在静态控件的变量m_show.GetWindowRect()这句出现,ASSERT这个GetWindowRect,我想问问这个地方应该怎么处理。
在OnSize函数中用GetWindowRect函数的问题
在OnSize<em>函数</em>中用GetWindowRect<em>函数</em>后,获得的依然是改变大小之前的矩形坐标,如何获得改变大小之后的矩形坐标?
OnEraseBkgnd函数不响应
我程序中的一个画面的OnEraseBkgnd<em>函数</em>响应不了,下的断点根本断不到。但背景却一直在描画。rn检查了各项定义都正确。rnafx_msg BOOL OnEraseBkgnd(CDC* pDC);rnON_WM_ERASEBKGND()rnBOOL CDlgChatting::OnEraseBkgnd(CDC* pDC)rnrn return TRUE; rnrnrn大家有类似经验的给提点一下。rnrn(可能我的结贴率不是100%,是因为昨天发的一贴,还不能结贴,希望不要受此影响)
CAsyncSocket的OnReceive函数不响应。。。
Create时已经默认把FD_READ这些事件都选进去了。。。不知道为什么有数据发来时OnReceive<em>函数</em><em>不响应</em>,这时我如果用一个按钮主动去RecvFrom却能收到数据。。。rnrn谁知道OnReceive有那些情况下不会响应吗?
为什么PreTranslateMessage函数不响应了?
我的ActiveX控件中的PreTranslateMessage<em>函数</em>在控件位置变化后就不能响应了,用鼠标点击控件使控件激活<em>函数</em>也会<em>不响应</em>。请问这是什么原因造成的?如何让PreTranslateMessage能重新响应消息。先谢谢各位大侠了!
Onsize()时如何解决闪烁现象?我已经使用了双缓冲,在滑块移动时没出现闪烁,但是窗口大小改变时,却闪烁了
如何解决这个问题?大家发言
编辑框控件随窗口大小变化重写OnSize()
最近在学<em>mfc</em>, 模仿一个记事本。文本内容用编辑框来显示。 当窗口变化时,通过以下代码,可以实现编辑框随窗口一起变化。 需要注意的是在使用编辑框指针前,一定要加上判断。因为第一次OnSize() 被调用时,编辑框对象还没有生成,只有窗口对象。 void CNotePadDlg::OnSize(UINT nType, int cx, int cy)  { CDialog::OnSize(
MFC重写OnSize()之后控件丢失
我重写了窗口的OnSize()消息,想要控件的布局随着窗口的大小变化,但是点击最大化,最小化的侍候,窗口中的控件就丢失了,请各位高人指点迷津。 具体重写代码给出如下:void CMyEverythin
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, siz
MFC 点击任务栏图标有时候不响应
在窗体的OnInitDialog中调用ModifyStyle(0,WS_SYSMENU | WS_MINIMIZEBOX);,来实现点击任务栏图标可以最小化和还原显示窗体,但是有时候,不知道是什么原因,最小化了窗体,点击任务栏图标,不能还原显示窗体,只有点击托盘图标的显示窗体,才能把窗体显示出来。
MFC对话框不响应标题栏双击
MFC对话框<em>不响应</em>标题栏双击
一个有关MFC的OnSize和MoveWindow结合的问题
是不是调用OnSize,MFC系统就会调用MoveWindow<em>函数</em>,而不需要再另外调用了呢?
关于MFC中加速键不响应
在程序中F1-F9加速键<em>不响应</em>,我程序实现是这样的:rn主窗口被分割成上下左右三个窗口,左侧是一个outlookbar里面里面是有个Tree,右侧有是View的rn[code=C/C++]-------------------------------------------------------------rn--- --- ---rn--- --- ---rn--- --- ---rn--- --- ---rn--- tree --- view ---rn--- --- ---rn--- --- ---rn--- --- ---rn--- --- ---rn--- --- ---rn--- --- ---rn-------------------------------------------------------------rn--- ---rn--- ---rn--- ---rn--- ---rn--- ---rn-------------------------------------------------------------[/code]大致分割后的情况如上图所示;rn问题是:当按下F1-F9加速键时右侧只有一个view时能够正常显示试图rn但当View中是一个CTabCtrl时,所有的加速键都不可用,但当用鼠标点击左侧树时,此时快捷键可用,请问我的问题在哪儿?rn谢谢
MFC关于OnSize和MoveWindow关系的梳理
-
如何调用ONSIZE??????
我想在代码中执行<em>onsize</em>()中的代码,但是不知道如何调!<em>onsize</em>有三个参数.我不想调整窗口的大小.求助!
在vue中监听windows.onsize自适应屏幕
http://blog.csdn.net/efficiency9/article/details/72857579
关于MFC对话框应用程序中,ONSIZE一问
刚才在大家的指导下,我在MESSAGE里,找到WM_PAINT,然后EDIT CODE,在ONPAINT里面加了自己的redraw()<em>函数</em>,解决了在bitmap上重绘的问题,但当我想用同样的方法找ONSIZE,发现与预想的不同rn下面是我用EDIT CODE在主程序里定位到的,请问到底如何对每个对象<em>onsize</em>?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 ribbon控件消息不响应
今天在做ribbon的时候发现添加了一个按钮,响应<em>函数</em>写完以后却没办法触发。我添加的按钮ID是ID_BTN_ABOUT,查了一下解决方案如下: 1.查看Resource.h文件,确保自动生成的ID不重复,代码如下,事实证明自动生成的重复了,自动生成的是32858,然后我手动修改为32860 #define ID_BTN_CLEAR_ALL 32858 #defi...
在MFC SDI程序中,OnSize()问题
[color=#FF0000]描述:rn我创建了一个MFC SDI程序,用CSplitterWnd分割成了左右两部分,我在左边部分的CLeftView上面创建了一个CTabCtrl,父窗口是CLeftView,CTabCtrl铺满CLeftView窗口,但是当我放大/缩小这个SDI程序的时候,可以看到CLeftView是在同步放大/缩小的,但是我的CTabCtrl的大小没有变化,请问,如何操作,可以使SDI程序窗口放大和缩小的时候,左边视图CLeftView中的CTabCtrl也跟着放大缩小?[/color]
消息OnSize的用法
面板的控件随面板的大小,位置大小也可以变化。afx_msg void OnSize(UINT nType, int cx, int cy);void CstatusBar_MenuView::OnSize(UINT nType, int cx, int cy) {            CFormView::OnSize(nType, cx, cy);           if
点击窗口最大化调用onsize的问题
用vs2010创建一个对话框,创建时代最大化、最小化按钮,但点击最大化,最小化时没有掉用WM_SIZE<em>函数</em>数,这是为什么,不解
MFC 控件大小随窗体改变而改变大小-OnSize
转载:https://blog.csdn.net/zhoxier/article/details/7776128 一个基于对话框的MFC界面,怎么样才能让对话框里的控件能和对话框同比例变小变大?今天我一直想解决这个问题,这是师姐留给我的任务。经过在网上的大量搜素,终于找到了解决方法,其实比较简单。 &amp;nbsp;&amp;nbsp; 一般情况下...
我想要在OnSize消息处理函数中,重新计算cx和cy的值,让我的窗口和新的cx,cy值一样大?
我想要在OnSize消息处理<em>函数</em>中,重新计算cx和cy的值,让我的窗口和新的cx,cy值一样大? 也就是说,假设窗口原来cx,cy大小是100,100,(在OnSize中得到) 我想在OnSize中设
关于OnSize函数 急! 急! 急!
我在单文档里 用CSplitterWnd分隔了4个视图 view1 和 view3继承CFormView view2和view4继承CListView, 在view1中有个CTreeCtrl控件 m_TreeCtl, 当单文档改变大小时, 我让m_tree也改变大小, 我在OnSize() 中的 代码如下rnrn CFormView::OnSize(nType, cx, cy);rn // TODO: Add your message handler code herern if(m_TreeCtl->GetSafeHwnd()) rn CRect rc;rn GetClientRect(&rc);rn //m_TreeCtl->MoveWindow(0, 0, cx, cy);rn m_TreeCtl->MoveWindow(&rc, TRUE);rn rnrn但是运行会出错 程序跳到winocc.cpp中!!!!!! 但是出错的不是网上说的 return ::SetWindowPos(m_hWnd, pWndInsertAfter->GetSafeHwnd(),x, y, cx, cy, nFlags);这一句,rn而是 [color=#0000FF]return m_pCtrlSite->SetWindowPos(pWndInsertAfter, x, y, cx, cy, nFlags);[/color] 这句出错, 用了网上说的好多办法 都不能解决, 哪位大侠能给点思路吗?????rnrn ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));rnrn if (m_pCtrlSite == NULL)rn return ::SetWindowPos(m_hWnd, pWndInsertAfter->GetSafeHwnd(),rn x, y, cx, cy, nFlags);rn elsern return m_pCtrlSite->SetWindowPos(pWndInsertAfter, x, y, cx, cy, nFlags);
OnSize问题?
我 要让group box 里的控件随窗口的变化而变化rn如何实现?rn
OnSize没有响应
void CAddDevCruiseSet::OnSize(UINT nType, int cx, int cy)rnrn CDialog::OnSize(nType, cx, cy);rn rn GetClientRect(m_rect);rn CRect rect2,recGroup,recBtn;rn rn if(GetDlgItem(IDC_LIST_ALL_DEVRECORD))rn rn GetDlgItem(IDC_LIST_ALL_DEVRECORD)->GetWindowRect(rect2);rn ScreenToClient(rect2);rn GetDlgItem(IDC_SET_CRUISETYPE)->GetWindowRect(recGroup);rn ScreenToClient(recGroup);rn GetDlgItem(IDC_BTN_UPDATA_ALL_DEVCRUISE)->GetWindowRect(recBtn);rn ScreenToClient(recBtn);rnrn //GetDlgItem(IDC_LIST_ALL_DEVRECORD)->MoveWindow(rect2.left ,rect2.top ,m_rect.Width ()-50,rect2.Height ());rn int tmpHeight=m_rect.Height ()-90-3*recBtn.Height();//rect2.top-hTask-5;rn GetDlgItem(IDC_LIST_ALL_DEVRECORD)->MoveWindow(rect2.left ,rect2.top ,m_rect.Width ()-30-recGroup.Width(),tmpHeight);rn GetDlgItem(IDC_BTN_UPDATA_ALL_DEVCRUISE)->MoveWindow(rect2.left,rect2.top+tmpHeight+recBtn.Height(),recBtn.Width(),recBtn.Height());rn rnrnrn我在OnSize<em>函数</em>里面设置了断点。发现,当程序刚刚启动,能运行到断点处中断。可是程序完全运行后,我点击最大化按钮和还原按钮,窗口的尺寸已经发生变化了,可以OnSize<em>函数</em>里面的断点却没有任何中断反应。请教OnSize<em>函数</em>工作原理?
ocx控件的OnMove函数为什么不响应
我在<em>mfc</em>做的ocx控件的onmove<em>函数</em>中写如下代码rnvoid CHCOCX5Ctrl::OnMove(int x, int y)rnrn COleControl::OnMove(x, y);rnrn // TODO: 在此处添加消息处理程序代码rn AfxMessageBox("moving");rnrn测试时,只有在显示时弹出了messagebox,之后用鼠标移动控件,没有messagebox弹出,请问是为什么? rnrn而且,OnMoving()<em>函数</em>根本从来不起作用。像这样rnvoid CHCOCX5Ctrl::OnMoving(UINT fwSide, LPRECT pRect)rnrn COleControl::OnMoving(fwSide, pRect);rnrn // TODO: 在此处添加消息处理程序代码rn AfxMessageBox("moving2");rnrnrn我的目的是想使一个非模态对话框跟随控件移动,除了这样可以有其它方法吗?谢谢rn
CE5 CEidt OnChar函数不响应
事情是这样的,rn我原来在ce4.2上做的程序,对edit输入有限制,限制的方法是重载CEdit为CImputEdit类,在其中重载OnChar,rn在把使用限制的edit定义处改为CImputEdit;是限制成功的.rn现在我把程序拿到ce5上运行,发事Onchar<em>函数</em>没进去,,,,,rn但退格等有些按键有能进去,好象是没响应WM_CHAR消息rn软件盘输入...rn请大家帮忙解决下..rn谢谢rn
为什么在重写的onsize函数里面都会首先调用基类的CDialog::Onsize
为什么在重写的<em>onsize</em><em>函数</em>里面都会首先调用基类的CDialog::Onsize,而且我看有的重写<em>onsize</em>接口中,只调用了CDialog::Onsize,而没有做其他操作,既然这样,为什么要重写
C++创建控件并响应三部曲、设置窗口全屏、OnSize实现控件大小改变、跟踪调试顺序
一、创建控件并响应事件三步曲:添加成员变量,变量类型为所创建控件的类型,如CButton 1.手动添加 afx_msg void OnmyButton();   2.手动添加实现<em>函数</em>;   3.关联:MESSAGE_MAP:ON_BN_CLICKED(IDC_MYBUTTON,OnmyButton)。 二、VC设置窗口全屏显示的方法:通过设置窗口显示状态和窗口位置来使窗口全屏。 在窗
CWnd::OnSize
在窗口的大小更改后,框架调用该成员<em>函数</em>。 afx_msg void OnSize( UINT nType, int cx, int cy ); 参数 nType 指定请求的调整大小的类型。 此参数可以是下列值之一: SIZE_MAXIMIZED 窗口最大化。 SIZE_MINIMIZED 窗口最小化。
OnSize 改变控件的大小
重载 OnSize <em>函数</em>   声明: afx_msg void OnSize(UINT nType,  int  cx,  int  cy); // 调整控件大小     // 调整控件大小   void CZTCServerDlg::OnSize(UINT nType, int cx, int cy)  {    CDialogEx::OnSize
不响应OnTimer函数,请求帮助
代码如下:rnBEGIN_MESSAGE_MAP(CBandwidthDlg, CDialog)rn //AFX_MSG_MAP(CBandwidthDlg)rn ON_WM_SYSCOMMAND()rn ON_WM_PAINT()rn ON_WM_QUERYDRAGICON()rn ON_BN_CLICKED(IDC_BTN_SHOW, OnBtnShow)rn ON_BN_CLICKED(IDC_BTN_SEND, OnBtnSend) rn ON_BN_CLICKED(IDC_BTN_RESET, OnBtnReset) rn ON_WM_TIMER()rn //AFX_MSG_MAPrn ON_MESSAGE(WM_RECVDATA,OnRecvData)rnEND_MESSAGE_MAP()rnrnrnBOOL CBandwidthDlg::OnInitDialog()rnrn CDialog::OnInitDialog();rnrn // Add "About..." menu item to system menu.rnrn .......rnrn srand((unsigned)time(NULL));rnrn m_iTmCounter = 0;rn m_bIsStart = FALSE;rn m_bIsover = FALSE;rn m_iRndForSend = rand()%100;rn rn InitSocket();rn RECVPARAM *pRecvParam=new RECVPARAM;rn pRecvParam->sock=m_socket;rn pRecvParam->hwnd=m_hWnd;rn HANDLE hThread=CreateThread(NULL,0,RecvProc,(LPVOID)pRecvParam,0,NULL);rn CloseHandle(hThread);rn rn SetTimer(1,1000,NULL);rnrn return TRUE; // return TRUE unless you set the focus to a controlrnrnrnvoid CBandwidthDlg::OnTimer(UINT nIDEvent) rnrn // TODO: Add your message handler code here and/or call default rn if (m_bIsStart)rn rn m_iTmCounter++;rn m_iTmCounter %=TIMESPAN; rn rn else return;rn rn if (m_iTmCounter == m_iRndForSend)rn rn // SendToMainAgt();rn Send();rn rn if (m_iTmCounter == 0)rn rn m_iRndForSend = rand()%100;rn rn CDialog::OnTimer(nIDEvent);rnrnrnrn运行时一秒后对话框自动就消失了,调试运行发现程序根本就没有响应OnTimer()<em>函数</em>,执行到SetTimer()后就没了,请问是什么原因?谢谢
CmyDlg:OnMouseMove函数为何不响应
void CmyDlg::OnMouseMove(UINT nFlags, CPoint point)//这是我给主对话框添加的鼠标移动消息 软件运行后 移动鼠标 为什么没有任何反应?加入的断点也没有进来,什么问题?很困惑!rnrn // TODO: 在此添加消息处理程序代码和/或调用默认值rn CString X=IntToStr(point.x);//此处加入断点rn CString Y=IntToStr(point.x);rn CString xy=X+" "+Y;rnrn请高手指点!谢谢!
OnSize函数中使用MoveWindow出错
我在从CFormView派生的View中添加了几个按钮控件,我想使这些控件随着窗口大小改变而改变控件的位置和大小,所以我在OnSize<em>函数</em>中添加了几行如下的代码:rn GetDlgItem(IDC_BTN_UP)->MoveWindow(cx*13/16, cy*23/147, cx*1/10, cy*3/49); //IDC_BTN_UP为控件的IDrn 编译链接没错误,但是运行时出错,不能显示窗口,为什么?rn
怎么样在OnSize()函数中改变窗口的位置?
请问怎么样在OnSize()<em>函数</em>中用MoveWindow()改变窗口的位置?能举个例子说明一下吗?
MFC 调试方法
MFC 调试方法 Visual Studio 2013 其他版本 此主题尚未评级 - 评价此主题 如果要调试 MFC 程序,这些调试技术可能会有用。 本主题中 AfxDebugBreak The TRACE macro Memory leak detectio
mfc 在窗口初始化的时候要调用几次onsize啊?
最近在搞一个<em>mfc</em>的东东,遇到个问题,在窗口初始化的时候要调用几次<em>onsize</em>啊? 哪位大仙圣人帮个忙啊,查了半天也没查出来,要疯了,要疯了
MFC 控件大小随窗体改变而改变大小
一个基于对话框的MFC界面,怎么样才能让对话框里的控件能和对话框同比例变小变大?今天我一直想解决这个问题,这是师姐留给我的任务。经过在网上的大量搜素,终于找到了解决方法,其实比较简单。    一般情况下,我们新建的对话框,里面的“确定”和:取消”按钮,在对话框最大化得时候,不会一起变大的,而是保持原来的大小。    最简单的情况:      当我们点击最大化按钮的时候,对话框会最大化
MFC中CalcWindowRect ()与OnSize()的有什么区别?
在MFC界面编程中,均用于界面缩放时界面处理<em>函数</em>CalcWindowRect ()与OnSize()有什么区别?
MFC如何在其他类中让CView中的OnSize函数执行
RT 现在我在另一个类中添加这个语句PostMessage(pMain->m_hWnd,WM_SIZE,0,0);但是CView中的OnSize<em>函数</em>执行不会执行,不知道怎么做?
Onsize问题
切分窗口后用<em>onsize</em>控制比例 可出现问题 不知道怎么回事rnrnrnMFCSDI.exe 中的 0x782b8375 (<em>mfc</em>80d.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
VC++6.0 双击左键函数不响应
双击鼠标左键没有反应,运行也不报错,就是自己退出来,本来双击是可以打出字的,我又设置了一个变量的值在里面,结果就不执行了,把变量赋值的语句删去后,仍然不好用,不知道是为什么rn代码关键部分rnrn```rnvoid CWangLiuLin190304View::OnLButtonDblClk(UINT nFlags, CPoint point) rnrn // TODO: Add your message handler code here and/or call defaultrn pDC = GetDC();rn DrawBoo(pDC,point);rn CView::OnLButtonDblClk(nFlags, point);rnrn```rnDrawBoo(CDC *pdc, CPoint ptPos)<em>函数</em>rnrn```rnvoid CWangLiuLin190304View::DrawBoo(CDC *pdc, CPoint ptPos)rnrn static char sz[] = "Hi,Mrs.Wang!";rn pdc->TextOut(ptPos.x,ptPos.y,sz,sizeof(sz) - 1);rnrn```
重绘listctrl,不响应OnLButtonUp函数
在重绘的listctrl中,添加了鼠标右键弹起消息OnLButtonUp,但鼠标弹起时,发现不进去<em>函数</em>,不知道怎么回事。请求各位大侠帮忙rnrnwin7操作系统
网页制作精明布局Flas Ps图片制作div布局下载
网页制作精明布局Flas Ps图片制作div布局 相关下载链接:[url=//download.csdn.net/download/star1989116/2880582?utm_source=bbsseo]//download.csdn.net/download/star1989116/2880582?utm_source=bbsseo[/url]
Hxj.Data(V1.7.4.2)下载
Hxj.Data(V1.7.4.2)一个关于数据库的组件。非常方便。 相关下载链接:[url=//download.csdn.net/download/congplayer/3747116?utm_source=bbsseo]//download.csdn.net/download/congplayer/3747116?utm_source=bbsseo[/url]
ExtJS+Web应用程序开发指南(第2版).pdf下载
ExtJS+Web应用程序开发指南(第2版).pdf 相关下载链接:[url=//download.csdn.net/download/fzq15980/4966727?utm_source=bbsseo]//download.csdn.net/download/fzq15980/4966727?utm_source=bbsseo[/url]
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件
我们是很有底线的