MFC 对话框最小化后返回崩溃 5C

对话框程序,最小化后返回崩溃
还有个 问题,当对话框用鼠标拉大时,图片区出现一个小三角,
这个三角是状态栏最右边那个三角,状态栏是自定义的,如图
图片说明

1个回答

查看一下出错的时候的callstack,是不是恢复的时候,会引起UI界面重绘,你的代码有地方处理有问题。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
mfc最小化,基于对话框,mfc最小化
mfc基于对话框,实现最小化,最大化以及还原!
MFC对话框默认最小化
例如,你要让初始化窗口为最小化,可以在App类的InitialInstance函数中,将默认的m_pMainWnd->ShowWindow(SW_SHOW);改为m_pMainWnd->ShowWindow(SW_SHOWMINIMIZED);rnrn这是网上的答案,看得也很靠谱,但我在InitialInstance函数中没有找到ShowWindow呀,而且对话框用了dlg.DoModal();要是在DoModal()之前插入ShowWindow 会出现错误,插在他后面貌似没意思啊。不知道众位所说的ShowWindow在哪呀?
MFC响应对话框最小化
ShowWindow(SW_SHOWMINIMIZED);
对话框最小化后出错
我设置了MFC对话框的大小改变时控件的大小也随之改变,但我最小化后,再次点击时就出现错误:应用程序发生异常错误,我该怎么解决呢?rnvoid CTestDevDlg::OnSize(UINT nType, int cx, int cy) rnrn CDialog::OnSize(nType, cx, cy);rn rn for (int i=IDC_BTTEST;i<=IDC_STATIC4 ;i++) //因为是对话框中的控件,所以这里用了循环rn rnrn CWnd *pWnd; rn pWnd =GetDlgItem(i); //获取ID为i的空间的句柄,因为“确认”ID为1,“取消”ID为2rn if(pWnd) //判断是否为空,因为对话框创建时会调用此函数,而当时控件还未创建rnrn rn CRect rect; //获取控件变化前的大小 rnrn pWnd->GetWindowRect(&rect);rn ScreenToClient(&rect);//将控件大小转换为在对话框中的区域坐标rn //cx/m_rect.Width()为对话框在横向的变化比例rnrn rect.left=rect.left*cx/m_rect.Width();//调整控件大小rn rect.right=rect.right*cx/m_rect.Width();rn rect.top=rect.top*cy/m_rect.Height();rn rect.bottom=rect.bottom*cy/m_rect.Height();rn pWnd->MoveWindow(rect);//设置控件大小rn rn rn rn [color=#FF0000]GetClientRect(&m_rect);// [/color][color=#0000FF]将变化后的对话框大小设为旧大小,这句应该错了,我该如何修改rn [/color]
对话框最小化后不见了
一个基于对话框的程序,点击里面的一个按钮后打开一个无模式对话框,我在资源编辑时将这个无模式对话框rnrn右上角设置为有最大最小化按钮,当运行程序时切换到无模式对话框时,如果按最小化钮,程序就不见了,即rnrn屏幕下方任务栏没有显示,当然任务管理器里程序还在运行。rnrn怎样使得最小化后任务栏中程序有显示?
mfc对话框工程在AfxWinMain崩溃
mfc对话框工程在AfxWinMain的rnif (!pThread->InitInstance())崩溃rn刚刚还好好的,突然就这样了,不知道是不是不小心改了哪里,希望高人指教
MFC 无标题对话框最小化和最大化
首先CPropertySheetCtrl属性页面 点击查看微软提供的帮助文档根据这个文档就可以很好的实现CPropertySheetCtrl属性页面的非模态和模态对话框,我使用的是非模态对话框。因为此界面是放在一个基对话框上的,使用模态对话框不能响应最大化和最小化功能。CPropertySheetCtrl* pSheet=new CPropertySheetCtrl(_T("")); CSetti
MFC对话框最大化、最小化设置
平台:VS2010 新建一个对话框,运行:       在对话框属性框>>找到>>Maximize box    ,  Minimize box   >>>>把false改为true>>  OK>> 运行:
怎么最小化对话框? vc++6.0 MFC
怎么最小化对话框? vc++6.0 MFC
对话框最小化后收不到消息?
一个对话框资源。在其属性添加Minimize box.rn在其消息处理WindowProc中添加rn[code=c]rnLRESULT CProcessDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) rnrn // TODO: Add your specialized code here and/or call the base classrn switch(message)rn rn case WM_RESTART:rn rn OnBtnRs();rn break;rn rn case WM_WATCHSTART:rn rn OnBTNWatch();rn break;rn rn case WM_WATCHSTOP:rn rn OnEndWatch();rn break;rn rn rn rnrn return CDialog::WindowProc(message, wParam, lParam);rn[/code]rnrn另一程序通过FindWindow和SendMessage发送消息。在正常情况下,WindowProc能响应到。但是最小化后就不行了。
对话框最小化恢复后闪动
问题如题,代码如下:rnvoid CInterfaceDlg::OnPaint() rnrn if (IsIconic())rn rn CPaintDC dc(this); // device context for paintingrn SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);rn // Center icon in client rectanglern int cxIcon = GetSystemMetrics(SM_CXICON);rn int cyIcon = GetSystemMetrics(SM_CYICON);rn CRect rect;rn GetClientRect(&rect);rn int x = (rect.Width() - cxIcon + 1) / 2;rn int y = (rect.Height() - cyIcon + 1) / 2;rn // Draw the iconrn dc.DrawIcon(x, y, m_hIcon);rn rn elsern rn CPaintDC dc(this);rn CRect rect;rn GetClientRect(&rect);//得到窗体的大小rn CDC dcMem; rn dcMem.CreateCompatibleDC(&dc); rn CBitmap bmpBackground;rn bmpBackground.LoadBitmap(IDB_BITMAPBACKGROUND);//加载背景图片rn BITMAP bitMap;rn bmpBackground.GetBitmap(&bitMap);rn CBitmap *pbmpOld=dcMem.SelectObject(&bmpBackground);rn dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);//画窗体rn rn
MFC使用多线程后点击最小化对话框不响应怎么办?
CCOOKDlg *DlgPtr=(CCOOKDlg*)pParam;rnCMSComm COM1;rnCOM1.Create(NULL,0,CRect(0,0,0,0),DlgPtr,IDC_MSCOMM1);rn原因就是线程里面用了上面的代码。还有就是屏蔽上面代码后可以最小化,但是鼠标放到显示的数据上,,数据会被背景覆盖了。是怎么回事啊?求教这两个问题。
MFC 从子对话框返回数据
子对话框是一个“设置”对话框,需要返回一个int*的类型,rn于是我把IDOK 本来void的返回类型想变成int*的类型,但是失败了,有没有什么办法
新建MFC基于对话框工程崩溃
VS2013环境, 以前没出现过,rnCDemo06App::CDemo06App()rnrn // 支持重新启动管理器rn m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART;rnrn // TODO: 在此处添加构造代码,rn // 将所有重要的初始化放置在 InitInstance 中rnrnrnrn// 唯一的一个 CDemo06App 对象rnrnCDemo06App theApp;rnrnrn// CDemo06App 初始化rnrnBOOL CDemo06App::InitInstance()rnrn // 如果一个运行在 Windows XP 上的应用程序清单指定要rn // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,rn //则需要 InitCommonControlsEx()。 否则,将无法创建窗口。rn INITCOMMONCONTROLSEX InitCtrls;rn InitCtrls.dwSize = sizeof(InitCtrls);rn // 将它设置为包括所有要在应用程序中使用的rn // 公共控件类。rn InitCtrls.dwICC = ICC_WIN95_CLASSES;rn InitCommonControlsEx(&InitCtrls);rnrn CWinApp::InitInstance();rnrnrn AfxEnableControlContainer();rnrn // 创建 shell 管理器,以防对话框包含rn // 任何 shell 树视图控件或 shell 列表视图控件。rn CShellManager *pShellManager = new CShellManager;rnrn // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题rn CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));rnrn // 标准初始化rn // 如果未使用这些功能并希望减小rn // 最终可执行文件的大小,则应移除下列rn // 不需要的特定初始化例程rn // 更改用于存储设置的注册表项rn // TODO: 应适当修改该字符串,rn // 例如修改为公司或组织名rn SetRegistryKey(_T("应用程序向导生成的本地应用程序"));rnrn CDemo06Dlg dlg;rn m_pMainWnd = &dlg;rn [color=#FF0000]INT_PTR nResponse = dlg.DoModal();[/color]rn if (nResponse == IDOK)rn rn // TODO: 在此放置处理何时用rn // “确定”来关闭对话框的代码rn rn else if (nResponse == IDCANCEL)rn rn // TODO: 在此放置处理何时用rn // “取消”来关闭对话框的代码rn rn else if (nResponse == -1)rn rn TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");rn TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");rn rnrn // 删除上面创建的 shell 管理器。rn if (pShellManager != NULL)rn rn delete pShellManager;rn rnrn // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,rn // 而不是启动应用程序的消息泵。rn return FALSE;rnrn[img=https://img-bbs.csdn.net/upload/201606/26/1466911603_719860.png][/img]rnrn断点再红色地方;rn第二个在appmodul.cpp里rn#pragma warning(suppress: 4985)rnrn // call shared/exported WinMainrn return AfxWinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow);rnrn[img=https://img-bbs.csdn.net/upload/201606/26/1466911615_506860.png][/img]
mfc对话框create时候崩溃问题
编译环境:vs2010rnrn 首先我有一个创建对话框的类,class JobDlgrn 正常情况下通过以下代码可以实现对话框的创建rnrn JobDlg* jobdlg = new JobDlg;rn if (jobdlg != NULL)rn rn jobdlg->Create(vgSpace::JobDlg::IDD);rn jobdlg->ShowWindow(SW_SHOW);rn rn rnrn 根据需求,我在程序中引入pothy,通过封装脚本形式调用上段代码,执行到create程序崩溃。rnrn跟代码时发现create中的lpszTemplateName参数错误,初步判断是线程问题引起的。rnrn求指教~~
MFC实现对话框程序最小化到托盘
详细介绍了用VC++实现将对话框程序最小化托盘的实现过程。已经经过本人电脑验证,完全可行。内容详细,综合了很多人的共同智慧
MFC创建对话框无法设置最小化窗口
今天创建一个MFC对话框时,发现一个问题。rn对话框的MINIMIZE BOX 属性设置变灰了,无法设置指定对话框包含最小化框。rn请问一下,有人知道是什么原因么?
VC\MFC关于对话框最小化的两个问题
第一个问题,两个对话框,一个mDlg,一个lDlg。在app的InitInstance函数中,如果先启动mDlg对话框,则最小化mDlg时,程序在任务栏上有显示。可如果换成lDlg先显示,在通过lDlg上面的按钮来触发弹出mDlg的话,这时再让mDlg最小化,在任务栏上就没显示了,必须通过ALT+TAB才能重新打开。rnrn代码如下: //lDlg对话框中触发弹出mDlg的按钮函数rnif(..)rnrn mDlg md;rn CDialog::Oncancel();rn md.DoModal(); //我的目的是弹出对话框的同时前一个对话框能关闭。rnrnrn另一个问题,我的程序通过线程监听某一个外设的状态,如果满足,则程序会自动弹出一个模态对话框。现在的问题是,如果主对话框已经被最小化了,那么这个模态对话框就不会弹出来了(若主对话框没有被最小化,则没问题),必须取消主对话框的最小化状态才能看到。可我以前用c#做winform程i序的时候不会这样,就算主对话框已经被最小化到托盘了,对话框还是一样会自动弹出来。在此请教在MFC平台的实现方法。rnrn两个问题,请大侠帮帮小弟,不胜感激!rn
VS2008实现MFC对话框最小化到托盘
程序实现简单的修改对话框标题栏上默认的图标以及最小化对话框到托盘的功能
MFC中实现对话框最小化到托盘功能
头文件: #define WM_SHOWTASK WM_USER+1 class XxxDlg : public CDialogEx { // Construction public:     XxxDlg(CWnd* pParent = NULL);    // standard constructor // Dialog Data     enum { IDD = IDD_
MFC对话框最小化出问题了怎么回事?VC
我做的对话框初始化就是用MoveWindow最大化的。添加最小化按钮。在OnSysCommand添加rnif(nID==SC_MINIMIZE) rn rn ShowWindow(SW_HIDE);rn rn但是点击一下没最小化。并且卡住了,等一会再点击就最小化了。但是再点击图标时最大化,界面就卡住了,这时候最小化跟关闭按钮就有效。是什么情况啊?
MFC对话框最大化/最小化的控件变化封装
本资源针对对话框最大化/最小化等尺寸变化过程中控件的位置变化、尺寸变化进行了封装,并附有使用说明文档,让最大化/最小化实现起来更加的简单便捷。本资源使用的是Vs2010环境,拥有完整代码,方便学习使用。
如何禁用MFC对话框窗口的最小化按钮
我写了一个简单的抽奖软件,是基于MFC对话框编写的,显示是最大化的。。rn我想禁用对话框窗口的最小化按钮,(也可以把最小化,最大化按钮都禁用了)。rn我自己弄了好久也搞不定,我重载了虚函数PreCreateWindow()可是对外观改变没效果。rnrn然后我看了这个文章:http://news.dayoo.com/tech/201005/21/10000617_102078468.htmrn才知道PreCreateWindow()在对话框中不能修改窗口外观。rnrn求大牛教一下 如何禁用对话框的最小化按钮啊。rnrn下面这是我写的 没用的代码。rn[code=c]rnBOOL CLotteryDlg::PreCreateWindow(CREATESTRUCT& cs)rnrn // TODO: 在此添加专用代码和/或调用基类rn BOOL bRe = CDialogEx::PreCreateWindow(cs);rn rn cs.style &= ~WS_MINIMIZEBOX;//禁用最小化按钮rn cs.style &= ~WS_MAXIMIZEBOX; //禁止窗口最大化rn return bRe;rnrn[/code]
对话框最小化
对话框程序,没有最小化按钮时,显示窗体,鼠标单击任务栏图标不能最小化.rn如何解决?rn鼠标单击任务栏图标怎么获取?
MFC点击对话框的X按钮使其最小化
MFC点击对话框的X按钮使其最小化,例如像360,qq这样。 所使用的开发工具为VS2010,在类向导中添加消息。OnSysCommand void CMy20161020Dlg::OnSysCommand(UINT nID, LPARAM lParam) { switch(nID) { case SC_CLOSE: ShowWindow(SW_MINIMIZE
求问,关于MFC对话框最大化最小化
怎样做到像浏览器那样,最大化最小化里边得控件大小不变,只是部分内容看不见,需要拉滑动条
MFC 基于对话框,创建一个非模态对话框 然后最小化主对话框,为什么非模态的对话框也最小化
我想知道怎么做才能不把非模态对话框也最小化 还有我试过主对话框隐藏可是托盘图标就消失了 ,如果主对话框隐藏,托盘图标不隐藏也行。rn我还有个问题是 我创建一个模态对话框 可以弹出来 可是关闭的时候会显示内存泄漏的异常 为什么?
MFC 主对话框最小化到托盘,托盘点击还原主对话框。
1.将主对话框资源属性Minimize Box设置为true,这个属性显示对话框的最小化按钮。 2.最小化到托盘。 (1)首先要了解,你任务栏右下角的托盘都是图标,所以最小化到托盘建议添加一个Icon资源。 (2)到托盘的函数需要自己重构。 先宏定义#define WM_SHOWTASK WM_USER+1 在protected中添加函数 LRESULT OnShowTask(WPAR
如何调整对话框最小化、最大化后的位置?
rn在对话框的属性窗口,选中minimize box,于是对话框可以最小化了。rn但是最小化后的对话框始终在屏幕的左下脚,想要把它调整到右下角。rnrn请问如何实现?rnrn3X
非模态对话框随主对话框最小化后的错误
popup对话框用非模态创建rn主窗口最小化时,出现过几次它popup窗口没有最小化的情况。几率很小,不知道为什么。rn然后单击任务栏,主窗口没法还原。只有任务栏上右键->还原才有效
对话框最小化后单击右键的菜单功能问题
如何在对话框设置中不选“System menu”,然后在对话框最小化后添加菜单功能和自己想要的功能选项?rn有个例子或代码就最好不过了。rn先谢了!!!
MFC崩溃后自动重启软件 实现原理
MFC崩溃后自动重启软件 如何实现rnrn好像在QQ和迅雷等软件崩溃后,可以出现一个对话框有选项, 自动重启 发送错误报告什么的,这个是怎么设计的原理是截获什么。好像没有什么资料和例子、
MFC串口程序最小化后自动退出
如题,就是用MFC编的一个从串口读数,往外发送数据的小程序,启动后能运行一段期间,但是最小化后再打开直接自动退出,求问这个是什么引起的。rn之前还一运行就退出,后来改了一些顺序就好了,现在这问题不知道什么原因。求前辈们指导下。
MFC下最小化到托盘后的气泡提示
个人在网上收集的,做了好久才做好的!个人运行成功.里面包含了SHELLAPI.H.不用这个再去修改!
请问基于对话框的工程如何启动后就让对话框最小化。
闪一下都不行,启动后立刻让它消失。请大侠指教。
高手支招:如何使mfc dll的对话框不随主程序的对话框最小化而最小化。
写了个mfc dll(共享、规则),包含有对话框资源。但在主程序调用它的时候出现:当我点击主程序对话框的最小化按钮时,dll的对话框也随着最小化了。大家帮忙看下有什么办法能使主程序界面最小化时,mfc的对话框不最小化。rn
MFC对话框数据修改返回保存
软件如图rn选择参数后点击5号相机出现参数对话框rn请问我现在想要在弹出的对话框中修改参数,点击确定保存应该怎么返回数据
MFC创建新对话框返回输入值
我的MFC DLG想添加一个 button 按下button 跳出另一个对话框,这个对话框有一个edit control,用于输入数值,点击确定以后可以将值赋给原MFC中的一些变量值;请问如何做到。rn简单的说就比如做个计算器,有个按键是输入:然后跳到另一个对话框,有两个可编辑部分(假如默认是加),输入以后点确定,然后原对话框直接显示他们的计算结果?
MFC添加对话框返回输入值
我的MFC DLG想添加一个 button 按下button 跳出另一个对话框,这个对话框有一个edit control,用于输入数值,点击确定以后可以将值赋给原MFC中的一些变量值;请问如何做到。rn简单的说就比如做个计算器,有个按键是输入:然后跳到另一个对话框,有两个可编辑部分(假如默认是加),输入以后点确定,然后原对话框直接显示他们的计算结果?
最大化最小化对话框的例子
一个最大化 最小化对话框的例子,解决了最小化恢复时经常出差的问题,可运行
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池