当前位置: 首页 > news >正文

大连政府建设工程信息网站网络营销出来可以干什么工作

大连政府建设工程信息网站,网络营销出来可以干什么工作,网站开发做美工,东莞保安公司有多少家MFC多文档程序,从菜单关闭一个文档和直接点击右上角的x效果不同 若文档内容有修改,则前者会询问用户,是否保存修改;后者不保存修改直接关闭。 原因在于,从菜单关闭时,调用OnClose,一定会调用Sa…

MFC多文档程序,从菜单关闭一个文档和直接点击右上角的x效果不同

若文档内容有修改,则前者会询问用户,是否保存修改;后者不保存修改直接关闭。
原因在于,从菜单关闭时,调用OnClose,一定会调用SaveModified(),其源码如下

/
// Standard file menu commandsvoid CDocument::OnFileClose()
{if (!SaveModified())return;// shut it downOnCloseDocument();// this should destroy the document
}

而点击x关闭时,CanCloseFrame()函数会判断是否保存文档,其源码如下:

BOOL CDocument::CanCloseFrame(CFrameWnd* pFrameArg)// permission to close all views using this frame//  (at least one of our views must be in this frame)
{ASSERT_VALID(pFrameArg);UNUSED(pFrameArg);   // unused in release buildsPOSITION pos = GetFirstViewPosition();while (pos != NULL){CView* pView = GetNextView(pos);ASSERT_VALID(pView);CFrameWnd* pFrame = pView->GetParentFrame();// assume frameless views are ok to closeif (pFrame != NULL){// assumes 1 document per frameASSERT_VALID(pFrame);if (pFrame->m_nWindow > 0)return TRUE;        // more than one frame refering to us}}// otherwise only one frame that we know aboutreturn SaveModified();
}

可见,仅当父框架的窗口为0时才会执行SaveModified()语句,其余情况都只会返回TRUE。在使用多文档编程时,要注意为了文档的安全,在自己重载的CanCloseFrame()中加上SaveModified()语句。

如何默默保存,不询问用户?

CDocument::SaveModified()的实现如下:

BOOL CDocument::SaveModified()
{if (!IsModified())return TRUE;        // ok to continue// get name/title of documentCString name;if (m_strPathName.IsEmpty()){// get name based on captionname = m_strTitle;if (name.IsEmpty())VERIFY(name.LoadString(AFX_IDS_UNTITLED));}else{// get name based on file title of path namename = m_strPathName;if (afxData.bMarked4){AfxGetFileTitle(m_strPathName, name.GetBuffer(_MAX_PATH), _MAX_PATH);name.ReleaseBuffer();}}CString prompt;AfxFormatString1(prompt, AFX_IDP_ASK_TO_SAVE, name);switch (AfxMessageBox(prompt, MB_YESNOCANCEL, AFX_IDP_ASK_TO_SAVE)){case IDCANCEL:return FALSE;       // don't continuecase IDYES:// If so, either Save or Update, as appropriateif (!DoFileSave())return FALSE;       // don't continuebreak;case IDNO:// If not saving changes, revert the documentbreak;default:ASSERT(FALSE);break;}return TRUE;    // keep going
}

可见,真正执行“保存”动作的是DoFileSave(),因此开发者可以考虑在用户进行某些动作时执行该函数,默默保存当前编辑结果,而无需弹出对话框让用户确认。

http://www.hkea.cn/news/914775/

相关文章:

  • 成都注册公司哪个区好分析网站推广和优化的原因
  • 模板建站杭州seo泽成
  • 济南网站建设公司川芎网络怎么注册自己的网址
  • linux下安装wordpress关键词优化排名查询
  • wordpress手机网站怎么做中央电视台一套广告价目表
  • 百家号如何给网站做推广推广方案是什么
  • 西安三网合一网站建设产品线上推广方案
  • 2023年免费b站入口百度网站优化
  • 响应式网站建设有利于seo网站发布与推广方案
  • 网页制作教程课件seo推广排名重要吗
  • 小规模纳税人企业所得税怎么征收广州seo招聘
  • 济南企业自助建站网络营销策划公司
  • iis 新建网站 要登录温州seo推广外包
  • 个人想做企业网站备案惠州seo代理商
  • 做公务员题的网站口红的推广软文
  • 福州网站建设 联系yanktcn 04上海百网优seo优化公司
  • 网站备案号如何获得网站建设营销推广
  • 物流网站开发公司西安 做网站
  • 商务信息网站怎么做网络视频营销策略有哪些
  • 社交做的最好的网站怎么开发一个网站
  • 教育品牌网站建设百度搜索推广和信息流推广
  • 虎门专业做网站对网络营销的认识有哪些
  • 投资理财培训网站建设抖音引流推广一个30元
  • 做景观设施的网站网络营销推广要求
  • 携程网站建设进度及实施过程网络营销的缺点及建议
  • 石家庄网站建设哪家专业中国联通腾讯
  • 能访问各种网站的浏览器百度一下网页搜索
  • 自己做网站花多少钱雅虎搜索
  • 哈尔滨招标信息网网站推广优化排名教程
  • 个人可以建论坛网站吗福清网络营销