数据库开发之窗体编程

2016-01-29 11:57 15 1 收藏

数据库开发之窗体编程,数据库开发之窗体编程

【 tulaoshi.com - C语言心得技巧 】

数据库开发之窗体编程

作者:李强

下载源代码


  在很多管理信息系统的窗体都有一些共同点:可以通过框架菜单打开各种类型的视图窗口,而这些视图窗口具有MDI的一些特点,可以在框架窗体中最小化最大化还原等,并且点击菜单只能产生一个窗口(象SDI)。这种形式的窗口设计给人与一种条理感。于是我用VC6.0尝试创建这种窗口,现将整个过程为大家写下来,这里应含有MFC的一些内幕技术。

一、新建AppWizad(exe)工程,名为mdisdi,基于MDI的文档视模式(其余默认)。

二、在CApp子类中添加如下代码:

  public:  CMultiDocTemplate* pDoctemp1;  CMultiDocTemplate* pDoctemp2;

三、修改InitInstance()中将如下代码:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)
  CMultiDocTemplate* pDocTemplate;  pDocTemplate = new CMultiDocTemplate(       IDR_MDISDITYPE,       RUNTIME_CLASS(CMdisdiDoc),       RUNTIME_CLASS(CChildFrame), // custom MDI child frame       RUNTIME_CLASS(CMdisdiView));   AddDocTemplate(pDocTemplate);
改为:
   //CMultiDocTemplate* pDocTemplate;//删除       pDoctemp1 = new CMultiDocTemplate(       IDR_MDISDITYPE,       RUNTIME_CLASS(CMdisdiDoc),       RUNTIME_CLASS(CChildFrame), // custom MDI child frame       RUNTIME_CLASS(CMdisdiView));     AddDocTemplate(pDoctemp1);

四、加入新类CDoc2,基类为CDocument(利用菜单Insert-New Class…让其自动生成即可);加入新框架类CChildFrame2,基类为CMDIChildWnd;
加入新视类,这里新加CView2基类为CFormView类(Insert-New Form…),注意在添加对话框中将Document选为CDoc2;

五、同(三)将如下代码:

  CMultiDocTemplate* pNewDocTemplate = new CMultiDocTemplate(               IDR_VIEW2_TMPL,        RUNTIME_CLASS(CDoc2), // document class       RUNTIME_CLASS(CMDIChildWnd), // frame class       RUNTIME_CLASS(CView2)); // view class     AddDocTemplate(pNewDocTemplate);

改为:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com)
  pDoctemp2 = new CMultiDocTemplate(            IDR_VIEW2_TMPL,         RUNTIME_CLASS(CDoc2), // document class           RUNTIME_CLASS(CChildFrame2), // frame class             RUNTIME_CLASS(CView2)); // view class       AddDocTemplate(pDoctemp2);
并在mdisdi.cpp头部添加:
       #include "Doc2.h"
六、修改IDR_MAINFRAME菜单,新添一菜单“功能”,其子菜单为窗口1和窗口2.用ctrl+c复制,ctrl+v粘贴,产生二个新菜单IDR_MAINFRAME1和IDR_MAINFRAME2,再将其更名为IDR_MDISDITYPE,IDR_VIEW2_TMPL.

七、为IDR_MAINFRAME菜单新添菜单增加消息应射函数OnMenuitem32771()和OnMenuitem32772()

八、在MainFrm.h加入:
  #include "mdisdiDoc.h"  #include "Doc2.h"
并在类中添加:
  public:  CMdisdiDoc * pDoc1;  CDoc2 * pDoc2;
在MainFrm.cpp增加代码如下:
  void CMainFrame::OnMenuitem32771()   {  // TODO: Add your command handler code here        if(pDoc1==NULL)      {        CMdisdiApp * pmdisdiapp =(CMdisdiApp *)AfxGetApp();        pDoc1=(CMdisdiDoc *)        pmdisdiapp-pDoctemp1-OpenDocumentFile(NULL);       }        else      {        POSITION pos;        pos=pDoc1-GetFirstViewPosition();        CView * pView;        pView=pDoc1-GetNextView(pos);        pView-GetParentFrame()-ActivateFrame();      }   } void CMainFrame::OnMenuitem32772()   {        if(pDoc2==NULL)      {         CMdisdiApp * pmdisdiapp =(CMdisdiApp *)AfxGetApp();        pDoc2=(CDoc2 *)        pmdisdiapp-pDoctemp2-OpenDocumentFile(N
                        

来源:https://www.tulaoshi.com/n/20160129/1484014.html

延伸阅读
实例 1.启动Oracle Server. Startup[nomount|mount|open][force][pfile=filename] 参数说明: nomount:只启动实例 mount:启动实例,并装载数据库 open:启动实例,装载并打开数据库。 Force:终止实例,并重新启动数据库。(默认选项) Pfile:指定非默认参数文件名。 2.停...
各子系统集成的技巧 1、选项组、开关按钮、组合框等控件的运用 在窗体上将这些控件巧妙地加以运用可以有机地将有关系统通过一个窗体来控制,这些控件选择值可以传递到查询、报表及宏中的条件中去,从而使得对查询、报表及宏的控制显得灵活方便。 2、选项卡控件的运用 在Access 97 版中新增加了“选项卡”控件,这更使Access可以在有限的窗...
窗体、查询、报表、宏的联合使用 将窗体、查询、报表、宏联合使用可以解决许多问题,是一项重要的技巧。 1、从窗体中获得查询中的条件 对于这个问题这里以成绩表的打印为例来说明。我们要打印不同班级的成绩表,首先建立相应报表的查询,在查询中的班级字段下的条件中输入条件:Between [forms]![打印表格]![开始班号] And [forms]![...
标签: PHP
  PHP学习还在继续中,不过在一些大型PHP交流论坛遇到一些朋友对最基本的数据库概念并不清楚,便产生写此文的念头! (一)概念 数据库是一中信息的集合,每个集合都包含一条或多条形式统一的记录,记录由字段构成.通常将集合称为表,将记录称为表中的行. 数据库一般分为:平面文件数据库(TEXT),层次化数据库,网络数据库,关系数据库(mysql),对象...
本文就来着重探讨一下 Visual C# 数据库基本编程,即:如何浏览记录、修改记录、删除记录和插入记录。针对 数据库 编程始终是程序设计语言的一个重要方面的内容,也是一个难点。数据库编程的内容十分丰富,但最为基本编程的也就是那么几点,譬如:连接数据库、得到需要的数据和针对数据记录的浏览、删除、修改、插入等操作。其中又以后面针...

经验教程

712

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部