文档库 最新最全的文档下载
当前位置:文档库 › Java中利用JFrame创建窗体

Java中利用JFrame创建窗体

Java中利用JFrame创建窗体
Java中利用JFrame创建窗体

java中利用JFrame创建窗体

java

1. 一个简单例子:

2.创建窗体

在开发Java应用程序时,通常情况下利用JFrame创建窗口。利用JFrame创建的窗口分别包含一个标题、最小化按钮、最大化按钮和关闭按钮

在利用JFrame创建窗口时,需要设置单击关闭按钮时执行的动作,设置方法为通过JFrame 对象的setDefaultCloseOperation(int operation)方法,该方法的入口参数可以从JFrame 类的静态常量中选择,可选的静态常量如表1所示。

表1 JFrame类中用来设置关闭按钮动作的静态常量

设置单击关闭按钮时执行动作的典型代码如下:

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE):

JFrame窗口的默认显示位置为从(0,0)点开始绘制,即从显示器的左上角开始绘制。通常

情况下更希望显示在显示器的中央,可以通过Toolkit类的静态方法getDefaultToolkit()获得一个Toolkit类的对象,然后通过Toolkit对象的getScreenSize()方法获得一个Dimension 类的对象,通过Dimension对象可以得到显示器的大小,例如显示器的宽度和高度,获得Dimension对象的典型代码如下:

Dimension displaySize = Toolkit.getDefaultToolkit().getScreenSize();

通过JFrame对象的getSize()方法也可以得到一个Dimension类的对象,通过Dimension 对象可以得到JFrame窗口的大小,例如JFrame窗口的宽度和高度,获得Dimension对象的典型代码如下:

Dimension frameSize = frame.getSize();

利用上面得到的两个Dimension类的对象,就可以计算出显示在显示器中央时的起始绘制点了,然后通过JFrame对象的setLocation(int x, int y)方法,设置JFrame窗口在显示器中的起始绘制点,典型代码如下:

frame.setLocation((displaySize.width - frameSize.width) / 2,(displaySize.height - frameSize.height) / 2);

利用JFrame创建的窗口默认是不可见的,即在运行时不在显示器上绘制窗口,设置为可见的方法是通过JFrame对象的setVisible(boolean b)方法,并将入口参数设为true,典型代码如下:

frame.setVisible(true):

下面将通过一个例子,实现利用JFrame创建一个图1所示的窗口。

下面的代码将创建一个标题为“利用JFrame创建窗口”的窗口,该窗口的关闭按钮执行的动作是退出窗口,该窗口将显示在显示器的中央,代码如下:

3.修改图标:

setIconImage (Toolkit . getDefaultToolkit (). createImage (

getClass (). getResource ("login.png" )));

(注意:图片login.png要放在与调用该图片的类于同一个文件夹;另,Java好像不支持ico格式)

4.Java Swing如何实时刷新JTextArea,以显示刚才加append的内容

在代码中执行完textArea.append("message")后,如果你想让这个更新立刻显示在界面上而不是等swing的主线程返回后刷新,我们一般会在该语句后调用textArea.invalidate()和textArea.repaint()。

问题是这个方法并不能有任何效果,textArea的内容没有任何变化,这或许是swing的一个bug,有一个笨拙的办法可以实现这个效果,就是执行以下语句

textArea.paintImmediately(textArea.getBounds());

textArea.paintImmediately(textArea.getX(), textArea.getY(), textArea.getWidth(), textArea.getHeight());

这时,你会发现你刚才增加的消息已经被实时地显示出来了。

5. 画图并添加鼠标事件

6.另一个例子:在一个TextArea里写内容,其他两个同时显示Java代码

7.Java 关闭窗体的六种方法

--------------------------------------------------------------------------------

VC 中自己创建对话框方法

VC中自己创建对话框的方法 这里讲在VC中不需要打开MFC工程,通过代码直接创建一个对话框,我看这个对话框比MFC的漂亮多了,而且要写会代码不需要研究MFC就直接开发新的工程. 先打开VC++ 6.0 版本, 第一步:创建一个工程名为:Main Dialog 的Win32 Application。创建过程如下: 打开File菜单中New,选自Win32 Application,工程名为:Main Dialog,点击OK,再选自A simple Win32 application。点击Finish,再点击OK.(见图1) 第二步:创建资源脚本。再打开File菜单中New,选自File选项的Resource Script(就是资源脚本),文件名为Dialog,点击OK。

(见图2) 第三步:插入对话框。刚才建立的脚本Dialog显示为Dialog.rc,就在Dialog.rc上面点击鼠标右键Insert(插入)Resource中选自插入Dialog(对话框),点击New(新建),这样对话框插入完毕。(见图3)

第四步:添加resource.h。我们把第四步插入的对话框ID改为IDD_MAIN ,在FileView中有个Header Files的文件,上面点击右键,选择Add Files to Folder...(添加文件到目录),弹出一个工程目录窗口,中间找到resource.h,然后OK了(添加)。(见图4)

第五步:复制代码。双击Main Dialog.cpp,我们写代码的位置出现了(见图5),那里有几行代码,把它们全部删掉,下面已经准备好的代码全部复制到那里,编译,执行,您的是否成功了? #include "stdafx.h" #include "resource.h" #include BOOL WINAPI Main_Proc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam); BOOL Main_OnInitDialog(HWND hwnd,HWND hwndFocus,LPARAM lParam); void Main_OnCommand(HWND hwnd,int id,HWND hwndCtl,

VC++对话框添加工具栏

VC++对话框添加工具栏 1、添加工具栏资源ID为IDR_TOOLBAR 2、在对话框的类定义中加: CToolBar m_ToolBar; 3、在OnInitDialog中或其它合适的消息响应中加如下代码:(函数可查看MSDN) m_ToolBar.Create(this); //创建工具栏 m_ToolBar.LoadToolBar(IDR_TOOLBAR);//加载工具栏 //得出控件条大小. CRect rect; CRect rectNow; GetClientRect(rect); RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rect Now); //放置控件条位置 CPoint ptOffset(rectNow.left-rect.left,rectNow.top-rect.top); CRect rcChild; CWnd* pwndChild=GetWindow(GW_CHILD); while (pwndChild) { pwndChild->GetWindowRect(rcChild); ScreenToClient(rcChild); rcChild.OffsetRect(ptOffset); pwndChild->MoveWindow(rcChild,FALSE); pwndChild=pwndChild->GetNextWindow(); } //调整对话框尺寸 CRect rcWindow; GetWindowRect(rcWindow); rcWindow.right+=rect.Width()-rectNow.Width(); rcWindow.bottom+=rect.Height()-rectNow.Height(); MoveWindow(rcWindow, FALSE);

实训12 自动创建窗体和窗体向导创建窗体

48 实训12自动创建窗体和窗体向导创建窗体 【实验目的】 1.掌握“自动创建窗体”创建窗体的方法。 2.掌握“窗体向导”创建窗体的方法。 3.能够根据具体要求,选择合适的窗体创建方法。 【实验内容】 【题1】建立一个“读者记录”窗体,如图12-1所示。数据源为“读者信息”表,窗体标题为“读者记录”。 解题分析: 从图12-1可知,窗体中的控件基本符合“纵栏式”布局,而且窗体的数据源为单一数据源,所以本题利用“窗体向导”方法是效率最高的。 操作提示: (1)单击“创建”选项卡“窗体”分组中的【向导】按钮,打开“窗体向导”对 话框,依次操作,创建基于“读者信息”表的纵栏式窗体。 (2)在窗体的“设计”视图中,对所建的窗体进行修饰。 ①调整控件的布局。 ②添加标签控件作为窗体的标题,添加直线控件作为修饰。 ③打开窗体“属性”窗口,设置相关属性如图12-2所示。 (3) 保存窗体,命名为“读者记录”。 图12-1 “读者记录”窗体图12-2 窗体的属性设置 【题2】建立一个“读者借书情况”的主/子窗体,如图12-3所示。主窗体显示读者的借书证号、姓名和部门。子窗体显示相应读者的借书情况,包括借书证号、书号、书名、借书日期和还书日期。 解题分析: 可以创建主/子窗体的方法有2种:一是对选中的数据表执行“创建”选项卡“窗体”分组中的【窗体】命令,适合用于数据源来自两个有关联的数据表;二是利用“窗体向导”

49 创建方法,适合用于数据源来自两个以上有关联的数据表。 从图12-3中可以看出,主窗体的数据源是“读者信息”表,而子窗体的数据源来自“图书信息”表和“借书登记”表,这3个数据表已在前面的实验中实施了关联,因此本题宜选用“窗体向导”方法。 图12-3 “读者借书情况”主/子窗体 操作提示: (1)利用向导创建主/子窗体,数据源为“读者信息”表、“图书信息”表和“借书登记”表。根据向导的提示,依次从3个表中选择可用字段如图12-4所示,选择显示布局如图12-5所示。 图12-4 窗体向导-选择数据源

VC++实现对话框工程中添加菜单

VC++对话框程序中添加菜单 在VC中创建一个基于对话框的MFC程序,要在其中添加菜单总共分三步: 1、首先插入一个菜单资源IDR_MENU1,然后可以编辑修改菜单; 2、然后在为对话框添加一个CMenu类型的成员变量m_Menu; 3、在OnInitDialog()中添加如下的代码: m_Menu.LoadMenu(IDR_MENU1);//载入菜单 SetMenu(&m_Menu); //显示菜单 经过这三步以后菜单就可以显示出来了。 MFC 对话框工程中添加菜单(VC++ 6.0编译器) MFC 对话框工程中添加菜单(VC++ 6.0编译器) 第一步:创建对话框资源和菜单资源. 第二步:添加菜单到对话框中 方法一: 在创建的对话框中右键,在Menu选项选择自己的菜单ID如下图

此时就可以了. 方法二: 不用方法一,直接添加代码完成上述功能. 添加代码到DialogDlg ::OnInitDialog中 CMenu *menu = new CMenu; menu ->LoadMenu(MAKEINTRESOURCE(IDR_MENU)); //IDR_MENU 菜单ID this ->SetMenu(menu); 或者 Cmenu m_menu; m_menu.LoadMenu(IDR_MENU); SetMenu(&m_menu); 此时结果如下图 最后在添加菜单到对话框类中,实现其各种功能. 下面是在上面的基础上实现的通用对话框空间的功能代码,方便以后开发使用. (1)打开文件对话框 条件: OPENFILENAME结构体初始化 GetOpenFileName函数调用

窗体的创建和操作(操作说明)-推荐下载

第7章窗体的创建和操作第1题 打开“窗体的创建和操作\1”文件夹,在此文件夹下的“samp7-1.mdb”数据库文件中已建立好窗体fTest。试按以 下操作要求完成窗体的编辑修改。 1、将窗体的“标题”属性设置成“等级考试”。 2 3 4 5 \1” 6 为fTT 选择对象为窗 体页眉 设置窗体“页 眉”不显示 设置“记录选 择器”为“否” 设置“关闭搂钮” 为“否”(功能无 选择属性类别 为“格式”

第2题 打开“窗体的创建和操作\2”文件夹,在此文件夹下有数据库文件“samp7-2.mdb ”, 其中已设计好窗体fStaff 。试在此基础上按以下要求补充窗体设计。 1、在窗体的窗体页眉节区添加一个标签控件,其名称为bTitle ,标题显示为“员工信息输出”。 2、在主体节区位置添加一个选项给控件,将其命名为opt ,选项组标签显示内容为“性别”,名称为bopt 。 3、在选项组内放置两个单选按钮,选项按钮分别命名为opt1和opt2,选项按钮名称分别为“男”和“女”,名称分别为bopt1和bopt2。 4、在窗体页脚节区位置分别添加两个命令按钮,分别命名为bOk 和bQuit ,按钮标题分别为“确定”和“退出”。 5、将窗体标题设置为“员工信息输出” 。

第3题 打开“窗体的创建和操作\3”文件夹,在此文件夹下有数据库文件“samp7-3.mdb ”, 其中已设计好窗体fTest 。试在此基础上按以下要求补充窗体设计。 1、在窗体的窗体页眉节区添加一个标签控件,其名称为bTitle ,标题显示为“窗体测试样例”。 2、在窗体主体节区内添加两个复选框控件,复选框选项控件分别命名为opt1和opt2,对应的复选框标签显示内容分别为“类型a ”和“类型b ”,标签名称分别为bopt1和bopt2。 3、分别设置复选框选项按钮opt1和opt2的“默认值”属性为假值。 4、在窗体页脚节区位置分别添加一个命令按钮,动作为打开表tTest ,命名为bTest ,按钮标题为“测试”。 5、将窗体标题设置为“测试窗体” 。

实验四、创建和使用窗体

实验四、创建和使用窗体 窗体是将一个或多个表或查询的某些字段进行格式化排列后的视图,简单的说,窗体可以看作是表或查询的另一种视图方式。在这种视图方式中,用户可以更方便简单的进行数据记录的查看和输入。 1.使用向导创建窗体 在创建窗体之前,应先确定窗体将基于什么表来创建以及窗体将如何使用。例如,在第一个练习中,我们依据【学生信息表】创建一个用于查看和输入学生信息的窗体。 (1)打开实验四目录下的“图书管理”数据库。 (2)在数据库窗口左侧的“对象”栏中单击“窗体”,双击“使用向导创建窗体”启动窗体向导。 (3)该窗口用于确定窗体中包含哪些字段,在“表/查询”下拉菜单中选择“表:学生信息表”,则“可用字段”中列出所有该表中包含的字段,单击全选按钮, 将所有字段添加到“选定的字段”区域中(也就是说我们要创建的新窗体中将包 含该表中的所有字段),如图4-1所示,单击“下一步”按钮。 图4-1 窗体创建向导 (4)在第二步的窗口中用于确定窗体显示的布局,使用缺省的选项“纵栏表”,如图4-2所示,单击“下一步”按钮。 图4-2 选择窗体布局

(5)在所列出的窗体样式中任意选择其中一种,单击“下一步”按钮。 (6)保留系统为窗体指定的标题“学生信息表”,保留“打开窗体查看或输入信息” 单选项,单击“下一步”按钮。 此时,新的窗体创建完成,并显示出“学生信息表”中的第一条记录。如图4-3所示,左侧一列为表的字段标题,右侧一列为每条记录对应字段的数据值。 图4-3 学生信息表窗体 (7)单击窗体底部的按钮,可以查看其他记录。其中,单击查看下一条记录,单击查看最后一条记录,单击查看上一条记录,单击查看第一条记录, 而单击可以输入新记录。 当数据表中记录比较多时,也可以利用向导创建“表格”式窗体,例如,创建“书籍目录表”窗体,创建过程与上述过程相同,只是在上述步骤(4)的图4-2中选择“表格”式即可。创建完成的“书籍目录表”窗体将如图4-4所示。 图4-4 书籍目录表窗体 2.调整窗体布局 对于已经创建完成的窗体,可以通过设计视图对它的布局作进一步修改。 (1)在数据库窗口“窗体”列表中,双击“学生信息表”。 (2)打开窗体后,单击工具栏中“设计”按钮,进入窗体的设计视图,如图4-5所示。

VC++自定义控件的建立及使用方法

VC++自定义控件的建立及使用方法 本文来自: https://www.wendangku.net/doc/9a11629366.html, 详细来源请参考:https://www.wendangku.net/doc/9a11629366.html,/techntxt/201298191132524755545 VC++自定义控件的建立及使用方法来源:https://www.wendangku.net/doc/9a11629366.html,/ 发布日期:2012-09-08 点击次数:168 发布者IP:218.25.20.78 VC++自定义控件的使用方法 一、VC++定义自定义控件与delphi,VB有些差异。delphi,vb在file-new-other中建立。vc++在工具栏中就有 自定义控件,但必须加入控件类型。许多书籍都在类向导中建立。我这里介绍的是手动建立,其结果是一样的 。 二.建立过自定义控件类型: 2.1、把工具栏上的自定义控件放入对话框中 2.2、建立Mycontrol.h, Mycontrol.cpp文件 2.3、Mycontrol.h中的定义是 #ifndef __MYCTROLTRL_H__ #define __MYCTROLTRL_H__ #define MYWNDCLASS "mycontrol" #include class CMycontrol: public CWnd { private: public: static BOOL RegisterWndClass(); CMycontrol(); void customfun();//一个自定义方法 }; #endif 2.4 Mycontrol.cpp中的实现部分 #include "StdAfx.h" #include "mycontrol.h" CMycontrol::CMycontrol() { CMycontrol::RegisterWndClass(); } //注册控件RegisterWndClass格式是固定的不要记忆没有那个必要直接拷贝粘贴就可以。 CMycontrol::RegisterWndClass() {

从零开始学VC系列教程 二.对话框及常用控件实验

从零开始学VC系列教程二. 对话框及常用控件实验 恭喜你,进入VC学习的第二节了.这一节是人机交互的基础.所谓人机交互,说通俗点就是与机器对话.然而我们现在的技术还不能像科幻片里一样与机器人直接说话就行了.所以,我们的操作意图还得通过文本输入,命令按钮等等来实现. 本节内容:学会对话框调用及一些常用控件的使用方法. 学习目的:学习人机交互,为软件开发提供界面基础. 1.新建工程.参考第一节的方法新建一个工程,名字为Eg02完成后如下图 细心的朋友一定会发现.新建的工程里还有一个对话框,ID名是IDD_ABOUTBOX这个是做什么用的呢?我们用到的软件都会有一个版权声明.通过第一章的学习,大家应该知道怎么观看这个IDD_ABOUTBOX对话框了吧.没错!双击IDD_ABOUTBOX就可以了.我们会看到如下的一个对话框 这就是我们这个程序的关于对话框,一般用于版权声明及版本号标识.大家看到的这个对话框里有两个静态文本框和一个图像框(Picture),静态文本框我们在前一节已经介绍过了.大家可以修改一下版权所有这一行,填什么都可以,签个大名也行.完成以后你一定想看看效果,这个对话框怎么打开呢?其实VC已经为我们做好了.先按F7编译,然后按F5运行.大家可以看到

程序运行了. 单击应用程序图标,就会出现一个菜单,选最后一个[关于Eg02],关于对话框就弹出来了. 当然,这是系统为我们做好的.自己怎么在程序中调用这个对话框呢?为了演示,首先参考第一节的内容添加一个按钮,然后把按钮的ID改为IDC_BTN_ABOUTME,把标题,也就是Caption 改为[关于].最终效果如下 下面我们为按钮添加代码.相信大家一定还记得怎么进入代码吧..对了,双击[关于]按钮,在弹出的对话框中点[确定]就可以了.为了让大家更好的理解下面的操作,我们先要解释一下关于对话框的类.VC向导会为关于对话框建立一个类,大家看看下面的图

第七章 窗体的创建与设计

第七章 窗体 第一节 认识窗体 第二节 使用向导创建窗体 第三节 自定义窗体 第四节 美化窗体 本章考点 第一节 认识窗体 一、窗体的概念 二、窗体的类型 三、窗体的视图 四、窗体的组成 一、窗体的概念 又称窗口,是系统和用户之间的接口,它为用户使用系统,对数据库中的数据进行各种操作提供了一个简单、形象、易懂的界面。 一个软件的操作界面就是由各种功能不同的窗体组成的。 二、窗体的类型 根据窗体的样式,分为以下6类: 1.纵栏式窗体:一个窗体只显示一个记录,格式可自由设计。2.表格式窗体:一个窗体显示多条记录。 3.数据表窗体:以表格方式显示记录,但OLE对象型数据不显示,一般用来作为一个窗体的子窗体。 4.主/子窗体:分别在不同的窗口中显示有关联的主子表中数据。5.图表窗体:以图表形式显示表中数据。 6.数据透视表窗体:以交叉表格式显示表中数据。 三、窗体的视图 显示窗体不同内容的窗口。 1.设计视图:显示窗体结构,用于设计窗体。 2.窗体视图:用于观察窗体运行时的状态。 3.数据表视图:以表格方式显示窗体数据源。 4. 数据透视表视图 四、窗体的组成 一个窗体由多个部分组成,每个部分称为节。 一个窗体可以包含以下五类节: 1.主体:位于窗体中间,用于设置窗体的主要部分。 2.窗体页眉:位于窗体顶部,用于设置窗体标题。 3.窗体页脚:位于窗体底部,用于显示窗体状态及说明信息。4.页面页眉:位于窗体页眉下部,主体上部,用于设置窗体打印时的

页头信息。 5.页面页脚:位于窗体页脚上部,主体下部,用于设置窗体打印时的页脚信息。 注意:一个窗体必须有主体节,其它节可根据需要设置。 第二节 使用向导创建窗体 一、自动窗体 二、自动创建窗体向导 三、窗体向导 四、数据透视表向导 五、创建数据透视窗体 六、图表向导 一、使用自动窗体 例1:以教师表为数据源,使用自动窗体功能,创建教师窗体。 1. 表对象选中教师表 2. 插入菜单自动窗体 二、自动创建窗体向导 用于快速创建简单的(单数据源,且不能自由选择字段)纵栏式、表格式和数据表式窗体。 例2:创建以学生表为数据源的纵栏式窗体,名称为LF02。 1.单击新建按钮; 2.选择自动创建窗体中的一种类型; 3.在数据源组合框中选择数据源; 4.保存并指定窗体名称。 三、窗体向导 灵活创建各种类型的窗体。多数据源,且可自由选取字段,纵栏式、表格式、数据表式和主子窗体。 例3:创建包含学生编号、姓名、性别、年龄和照片的纵栏式窗体,名称为LF03。 1.启动窗体向导; 2.选择数据源(多)以及字段; 3.分别确定窗体布局(类型)和样式; 4.指定窗体标题(也即窗体名称)。 三、数据透视表向导 创建以类似于交叉表的格式显示表中数据的窗体。 例4:创建一个显示不同年龄男女学生人数的数据透视表窗体,名称为LF04。 1.启动“数据透视表向导”;

VC环境下在对话框中动态生成视图的方法

VC环境下在对话框中动态生成视图的方法 吴超 摘要阐述利用VC++进行软件开发中,如何在对话框中动态生成自定义视图的一种方法,并给出了具体实现步骤和代码。关键词动态生成视图 The method of creating dynamical view in dialog under VC environment Wu Chao Abstract Illustrating one method of creating custom dynamical view in dialog during VC++ software development work, and giving concrete steps and codes. Abstract Dynamic create View 0引言 在VC++开发的C/S软件中,对话框是Windows应用程序中最重要的用户界面元素之一。对话框中,数据一般只能显示在编辑框、列表框或树形控件等自带控件中,如需在对话框中将众多数据用自绘的曲线图或柱形图来显示,特别是通过对话框控件来控制和管理视图,以达到对数据有效处理和显示目的,就必须通过在对话框中动态生成自定义视图来实现。本文介绍了一种在对话框中增加视图的有效方法,通过了相关测试并给出应用实例。 1实现技术方法 对话框(Dialog) 实际上是一个窗口, 在MFC中对话框的 功能被封装在 CDialog类中,是 CWnd类的派生类, 而CView或其子类 CScrollView也派生 自CWnd类,如图1。 因此,在对话框中添 加视图,不能通过类 的继承或派生来简单实现,需要手工添加相关代码,涉及到下列技术方法,具体有四个步骤。 1.1添加CMyAddView 1.1.1 添加新类 Insert一个视图类CMyAddView,使其从CScrollView派生,当视图设置范围超过窗口大小时,会自动生成滚动条。 1.1.2 定义资源和变量 在视图类定义中加入视图资源定义“enum { IDD = IDD_SCROLL_VIEW};”和被使用的对话框指针“CMyAddViewDlg *pViewDlg;”语句。 在MyAddView.h 文件中引用“class CMyAddViewDlg;”,并在Resource.h文件中,添加资源定义代码“#define IDD_SCROLL_VIEW 107”,并将OnInitialUpdate函数变为公有函数。 1.1.3 为pViewDlg赋值 在CMyAddView的OnInitialUpdate函数中,为视图的父对话框指针赋值,增加“pViewDlg = (CMyAddViewDlg *) GetParentOwner();”。 1.2在对话框中加入指针变量 1.2.1 增加视图指针变量 在CMyAddViewDlg对话框中添加指向视图的指针变量“CMyAddView* m_pWnd;”。 1.2.2 添加AddView函数 BOOL CMyAddViewDlg::AddView(LPCTSTR lpszLabel, CRuntimeClass *pViewClass) { TRY { m_pWnd = (CMyAddView *)pViewClass->CreateObject(); if (m_pWnd == NULL) { AfxThrowMemoryException(); } } CATCH_ALL(e) { return FALSE; } END_CATCH_ALL DWORD dwStyle = AFX_WS_DEFAULT_VIEW; // 以下代码定义视图在对话框中的位置,数值以改变视图边框在对话框中的相对位置 CRect rect; 图1 类的继承关系

如何在VC++中两个对话框相互传递信息

如何在VC++中两个对话框相互传递信息 (2010-12-11 17:40:12) 在VC++中,打开对话框一般是用DoModal()函数调用模态对话框,但是模态对话框只能在对弹出的当前子窗口进行操作,而不能对父窗口进行操作,也无法传递数据到父窗口中,根据笔者的研究发现,采用非模态对话框的模式可以很好的解决这一问题。 在VS2008中新建一个就有MFC应用程序的Project项目,在弹出的MFC 应用程序向导中选择“基于对话框”,取消“使用Unicode库”,单击完成。在“资源视图”里面添加一个对话框,默认ID为IDD_DIALOG1。 双击IDD_DIALOG1对话框,在弹出的MFC类向导中,类名填写CSonDialog,基类选择CDialog,单击完成。这样我们就将新建的IDD_DIALOG1关联上一个基于CDialog的类了。 在父窗口上添加一个按钮,双击,便可进入这个按钮的消息响应函数。在最上面包含CSonDialog的头文件#include “SonDialog.h”。如果在消息响应函数中写入如下代码: CSonDialog SonWnd; SonWnd.DoModal(); 运行之后按下父窗口上的按钮,可以发现弹出了IDD_DIALOG1,但是只能在IDD_DIALOG1上操作,无法操作父窗口。如果想要在弹出子窗口后还可以操作父窗口的话,需要采用非模态对话框的模式弹出子窗口。 MFC在CDialog类中有一个Create(UINT nIDTemplate, CWnd *pParentWnd = 0),这个函数可以创建一个Dialog,其中参数nIDTemplate为需要创建的Dialog 的ID。同时还有一个函数ShowWindow(int nCmdShow),用来显示创建的这个Dialog。在消息响应函数中写入如下代码: CSonDialog SonWnd; SonWnd.Create(IDD_DIALOG1); SonWnd.ShowWindow(SW_SHOW); 运行之后按下父窗口上的按钮发现窗口闪了一下,然后就消失了。这是因为对象SonWnd是一个局部对象,在运行完SonWnd.ShowWindow(SW_SHOW)这条语句之后便退出了消息响应函数,因此SonWnd对象也就被销毁了。如果想要退出消息响应函数之后窗口依然存在,则需要将SonWnd定义为一个全局变量。因此在ProjectDlg.h中添加一个CSonDialog SonWnd的定义,同时由于VC++在

Access上机操作题——窗体操作

Access上机操作题之十四 ——创建窗体㈠ 在“教学”数据库中的“学生”、“课程”、“成绩”三张表中,完成下列操作: 一、使用工具栏中“新对象:自动窗体”按钮创建纵栏式窗体: 1、创建“学生”表的纵栏式窗体,其操作步骤如下: ①打开“教学”数据库,选择“表”对象。 ②选择“学生”数据表。 ③单击工具栏中的“新对象:自动窗体”按钮,选择“自动窗体”选项。 ④保存窗体。 2、学生操作训练 ⑴创建“课程”表的纵栏式窗体。 ⑵创建“成绩”表的纵栏式窗体。 二、使用向导创建单表窗体: 1、自动创建纵栏式窗体: ⑴根据“学生”表创建纵栏式窗体,其操作步骤如下: ①选择“插入”菜单中的“窗体”命令,或选择“窗体”对象后,再单击“新建”按钮。 ②选择“自动创建窗体:纵栏式”选项,并选择数据来源为“学生”表后,单击“确定”按钮。 ③保存此窗体。 注:自动创建表格式窗体和数据表式窗体的操作方法同此相似。 学生操作训练: ⑵根据“课程”表,分别创建一个纵栏式、表格式、数据表窗体。 ⑶根据“成绩”表,分别创建一个纵栏式、表格式、数据表窗体。 2、使用“窗体向导”创建窗体: ⑴使用“窗体向导”建立一个基于“学生”表中“学号、姓名、性别、出生日期”等字段的简单窗体。其操作步骤如下: ①选择“窗体”对象,双击“使用向导创建窗体”选项。 ②在“表/查询”下拉列表中选择窗体的数据来源——“学生”表,然后选择在窗体中要显示的字段名:学号、姓名、性别、出生日期等,最后单击“下一步”按钮。 ③选择一种窗体布局形式:纵栏表 / 表格 / 数据表 / 两端对齐 / 数据透视表 / 数据透视图,然后单击“下一步”按钮。 ④选择窗体显示样式,然后单击“下一步”按钮。 ⑤输入新建窗体标题,单击“完成”按钮,保存此窗体。 学生操作训练: ⑵使用“窗体向导”创建一个基于“学生”表所有字段的纵栏式窗体,并采用“国际”窗体样式,命名为“学生纵栏式窗体”。 ⑶创建一个基于“课程”表所有字段的表格窗体,采用“标准”窗体样式,命名为“课程表格式窗体”。 ⑷创建一个基于“成绩”表所有字段的数据表窗体,采用“工业”窗体样式,命名为“成绩数据表窗体”。 ⑸创建一个基于“学生”表中“学号、姓名、性别、团员、电话、地址、照片”等字段的表格窗体,命名为“学生表格式窗体”。

数据库窗体实验练习(附答案)

实验一 说明:实验内容包括:自动创建窗体;使用向导创建窗体。体会窗体与数据表之间的关联。 要求: 1 查看数据库中已经存在的窗体。了解窗体的作用,观察窗体的结构。 2 使用“自动窗体”创建能查看和修改“图书信息”的窗体。保存窗体,命名为“窗体1”。 方法一、选中“图书信息表”,然后在工具栏上选择“自动对象”中的“自动窗体”。 方法二、在“窗体”中选择“新建”,从新建选项对话框中选择“自动创建窗体:纵栏式”。数据来源选择“图书信息表”。 3 使用向导创建基于表“人员信息表”的窗体,在窗体中显示人员编号、姓名、性别、籍贯、出生日期、照片字段。窗体类型选择“纵栏式”。在窗体视图中,为李娜添加照片(从下面下载)。保存窗体,命名为“窗体2”。 右键单击选择“图片另存为”保存图片 此图片为插入照片提供参考

4 使用向导创建具有主/子窗体特征的窗体,用来显示或操作图书的基本信息及相关的进货记录。参考下图完成。保存窗体,主窗体以“窗体3”为名保存,子窗体以“窗体3S”为名保存。 实验二 说明:使用设计视图创建窗体,练习属性设置。实验二并不涉及窗体、控件与数据之间的关系,只是简单地进行窗体和控件的创建以及属性设置练习。 要求: 1 使用窗体设计器创建一个新窗体,保存名称为“窗体4”。进行下面的操作: 1) 在窗体的“窗体页眉”节添加一个标签控件,控件名称myLabel,标题为“春天”。 2) 通过向导在主体节添加一个组合框,组合框中显示“电子工程”、“计算机”、“通信工程”三个条目。此控件命名为combo1。 3) 使用向导添加选项组控件,用于选择性别。 4) 按下表设置窗体关于格式的一些属性。

VC++6 第六章_创建和使用对话框

第6章创建和使用对话框 对话框是一种用户界面,几乎每一个Windows程序都使用对话框与用户进行交互。对话框可能是一个简单的只含有OK按钮的消息框,也可以是一个复杂的数据输入表单。对话框上有一些方便用户输入的控件,对话框依靠这些控件与用户进行交互,其实质是一个接收消息的窗口。 在本章节我们主要讲述模式对话框和无模式对话框的原理和使用方法,下一章将详细介绍各种控件的使用。你将学习创建一个对话框,使用对话框模板编辑一个对话框资源,并在程序中调用对话框的方法。 6.1 对话框的基本原理 6.1.1 对话框的工作原理 在创建一个对话框之前,我们先来了解一下对话框是如何工作的,对话框的数据来自三方面:对话框资源、对话框对象、和一个文档对象: 1.对话框资源 对话框资源是一个用户输入或取得数据的图形界面。这个图形界面是使用Develop Studio的对话框编辑器在对话框模板上创建的,程序员可以在对话框模板上增加并编辑控件,生成对话框资源。当应用程序运行时,就可以得到一个对话框。 2.对话框对象 MFC使用CDialog类来描述对话框,它是CWnd类的派生类。在CWnd类的基础上增加了数据交换的功能。当创建一个新的对话框资源后,使用ClassWizard可以创建一个对话框类的派生类。对话框对象实现了对话框和应用程序之间的通信。在应用程序中定义一个对话框对象后,在对话框显示前,可以通过访问对话框对象的成员变量为一个对话框的控件初始化,在对话框关闭后,可以通过访问对话框对象的成员变量获得用户的输入数据。 3.文档对象 MFC使用文档对象描述应用程序处理的数据,用户输入的数据要进一步的处理,通常要先存贮到文档对象中。例如:一个学生记录处理的应用程序,用户通过一个对话框输入学生记录并贮存到一个文件中。应用程序的处理顺序是:用户在对话框中输入信息,通过对话框对象得到输入信息,将输入信息整理到文档对象中,使用序列化函数将文档对象存贮到一个文件中,所以文档对象扮演了一个很重要的数据交换的角色。 MFC使用以上三者实现用户与应用程序之间数据交换,数据交换流程见图6-1所示,遵循四个步骤。

窗体的创建和操作(题目描述)

第7章窗体的创建和操作 第1题 打开“窗体的创建和操作\1”文件夹,在此文件夹下的“samp7-1.mdb”数据库文件中已建立好窗体fTest。试按以下操作要求完成窗体的编辑修改。 1、将窗体的“标题”属性设置成“等级考试”。 2、将窗体的“关闭按钮”属性设置成“否”。 3、关闭窗体的“窗体页眉/页脚”区域。 4、将窗体的“记录选择器”属性设置成“否”。 5、将窗体的“图片”属性设置成“窗体的创建和操作\1”文件夹下的图像文件test.bmp。 6、完成上述操作后,将窗体对象fTest备份一份,命名为fTT。 第2题 打开“窗体的创建和操作\2”文件夹,在此文件夹下有数据库文件“samp7-2.mdb”,其中已设计好窗体fStaff。试在此基础上按以下要求补充窗体设计。 1、在窗体的窗体页眉节区添加一个标签控件,其名称为bTitle,标题显示为“员工信息输出”。 2、在主体节区位置添加一个选项给控件,将其命名为opt,选项组标签显示内容为“性别”,名称为bopt。 3、在选项组内放置两个单选按钮,选项按钮分别命名为opt1和opt2,选项按钮名称分别为“男”和“女”,名称分别为bopt1和bopt2。 4、在窗体页脚节区位置分别添加两个命令按钮,分别命名为bOk和bQuit,按钮标题分别为“确定”和“退出”。 5、将窗体标题设置为“员工信息输出”。 第3题 打开“窗体的创建和操作\3”文件夹,在此文件夹下有数据库文件“samp7-3.mdb”,其中已设计好窗体fTest。试在此基础上按以下要求补充窗体设计。 1、在窗体的窗体页眉节区添加一个标签控件,其名称为bTitle,标题显示为“窗体测

MFC应用程序向导的使用示例

Microsoft Foundation Class就是微软基础类库,简称MFC,MFC是很多类得集合,不仅如此,MFC还是一种应用程序的框架结构,是VisualC++集成开发环境提供的一个代码生成工具,就像向导一样通过详细的帮助文档来引导程序员一步步的生成Windows应用程序。 1)【示例】下面通过编写MFC多文档应用程序,介绍如何让通过MFC应用程序向导建立 Windows应用程序,具体步骤如下: 打开VC,选择【file】→【new】命令,弹出【new】对话框,如下: 2)该对话框用于选择工程类型、名称和存放位置等信息,如图选择再单击【ok】弹出如图

3)该对话框用于选择应用程序类型、是否支持文档/视图结构和应用程序中资源的语言类 型,程序类型有单文档多文档基于对话框3种,选择如图,单击【next】,弹出 4)该对话框用于选择是否支持数据库应用及数据源,选择如图,单击【next】弹出:

5)用于选择是否支持复合文档和OLE等,选择如图,单击【next】弹出 6)定制应用程序的外观,包括工具栏、状态栏、打印和打印预览、上下文帮助等,还能定制是否支持“windows sockets”,单击【advanced】弹出 能进行一些高级设置,在该示例中保持默认状态不变,关闭此窗口再单击【next】弹出

7)定制应用程序风格、源代码是否生成注释和MFC类库连接方式等,选择如图,单击【next】弹出

8)用于展示MFC应用程序向导生成的C++类,包括CMultiDocView、CMultiDocApp等上述5个类。在这个对话框中可以修改名称和相应的头文件和源文件,在此示例中可保持默认,单击【finish】弹出完成对话框:

第七章 窗体的创建与设计

第七章窗体 第一节认识窗体 第二节使用向导创建窗体 第三节自定义窗体 第四节美化窗体 本章考点 第一节认识窗体 一、窗体的概念 二、窗体的类型 三、窗体的视图 四、窗体的组成 一、窗体的概念 又称窗口,是系统和用户之间的接口,它为用户使用系统,对数据库中的数据进行各种操作提供了一个简单、形象、易懂的界面。 一个软件的操作界面就是由各种功能不同的窗体组成的。 二、窗体的类型 根据窗体的样式,分为以下6类: 1.纵栏式窗体:一个窗体只显示一个记录,格式可自由设计。 2.表格式窗体:一个窗体显示多条记录。 3.数据表窗体:以表格方式显示记录,但OLE对象型数据不显示,一般用来作为一个窗体的子窗体。 4.主/子窗体:分别在不同的窗口中显示有关联的主子表中数据。 5.图表窗体:以图表形式显示表中数据。 6.数据透视表窗体:以交叉表格式显示表中数据。 三、窗体的视图 显示窗体不同内容的窗口。 1.设计视图:显示窗体结构,用于设计窗体。 2.窗体视图:用于观察窗体运行时的状态。 3.数据表视图:以表格方式显示窗体数据源。 4. 数据透视表视图 四、窗体的组成 一个窗体由多个部分组成,每个部分称为节。 一个窗体可以包含以下五类节: 1.主体:位于窗体中间,用于设置窗体的主要部分。 2.窗体页眉:位于窗体顶部,用于设置窗体标题。 3.窗体页脚:位于窗体底部,用于显示窗体状态及说明信息。 4.页面页眉:位于窗体页眉下部,主体上部,用于设置窗体打印时的页头信息。 5.页面页脚:位于窗体页脚上部,主体下部,用于设置窗体打印时的页脚信息。 注意:一个窗体必须有主体节,其它节可根据需要设置。 第二节使用向导创建窗体 一、自动窗体 二、自动创建窗体向导 三、窗体向导 四、数据透视表向导

VC 9模式对话框设计的步骤

VC++9 创建模式对话框 1.创建一个单文档的项目:xx 2.“插入”/“资源”/“Dialog”。创建如下图的对话框。 3.修改对话框的属性。右击对话框,在属性对话框中,“标题”改为:录入成绩。 4.添加5个静态控件,输入5门课程名,添加5个编辑框控件。 5.设置各控件的属性,修改默认按钮的标题为:“确定”和“取消”。 6.组织安排控件,使之整齐排列。 7.设置Tab顺序 8.测试对话框,不满意处进行修改。(6、7、8步通过“编排”菜单来完成) 以上2~8步是对话框资源的设计。 9.创建对话框类。“查看”/“建立类向导”,添加新类,名称为:CScoreDlg。(观察变化: “类视图”中,添加了新类;“文件视图”中,增加了相应的.cpp文件和.h文件) 10.创建成员变量。为5个编辑框添加int型成员变量:m_Score1~m_Score5。(观察变化: “类视图”多了5个成员变量;双击类名,在类定义处,自动定义了5个变量;双击类的构造函数,可以看到5个成员变量的初始化值) 11.设置数据的有效性检验。在类向导中,为5个成员变量添加最小值和最大值。(观察变 化:类的成员函数DoDataExchange()中添加了相应的代码) 以上9~11步是设计对话框类。 12.在xxDoc类中,添加全局变量:int score[5]; 在该类的构造函数中为全局变量初始化, 初值设为:0。 13.在类视图中,为“xxView”类的成员函数OnDraw()添加下列代码,用于设定输出格式: pDC->TextOut(0,0,”高等数学大学物理大学英语哲学计算机基础”); CString str; str.Format(“%13d%13d%13d%13d%13d”,pDoc->score[0], pDoc->score[1], pDoc->score[2], pDoc->score[3], pDoc->score[4],); pDC->TextOut(0,20,str); 14.在“资源视图”窗口中,选中“Menu”,为“编辑”菜单添加新的菜单项“成绩录入”。 右击菜单项,在标题属性中输入“成绩录入”,在ID 项中添加ID为:ID_SCOREFILLING 15.为新添加的菜单项定义消息处理函数(只要选择了该菜单项,弹出上面的模式对话框)。 在类向导中,类名为:“xxDoc”,ID值为:ID_SCOREFILLING。Message项选择“COMMAND”。添加成员函数,函数名默认。函数代码如下:

vc++对话框制作与编程-Dialog

实验项目三:文档视图结构 实验学时:6 实验类型:设计性 实验目的: 1.理解文档-视图结构 2.掌握SDI程序结构和开发 3.理解MDI程序结构和开发 4.设计支持多文档多视图结构的应用程序 实验内容与说明 第一部分:对话框制作与编程 本例将设计一个能够应用对话框进行参数选择、并运用这些参数进行窗口绘图的MFC程序。请通过此例掌握对话框资源的制作以及模态对话框的编程。同时理解文档视图结构。 第一步:新建工程 新建一个MFC AppWizard(exe)类型的工程,工程取名为DlgDemo。注意路径可能与本地磁盘不同。

修改应用程序类型为Single document。 保持其它设置不变,点击Finish按钮(包括随后的OK按钮)结束工程的创建。 第二步:窗口绘图 为简单起见,本例只打算在视图窗口内绘制一个矩形,该矩形的长度、宽度以及它们的单位都通过对话框进行选择。这些关于图形的关键数据一般应该保存在文档类中,视图类在需要绘图时,就从文档类中读取这些数据,这是文档视图结构的基本运行方式。 为此,需要向文档类CDlgDemoDoc中添加数据成员。在工程的类视图ClassView中右键单击文档类CDlgDemoDoc,选择Add Member Variable...,弹出添加数据成员的对话框。

在下列对话框中添加数据成员m_nWidth。 继续上述步骤,添加数据成员m_nHeight。 继续上述步骤,添加数据成员m_nUnit。 为提供对上述三个protected数据成员的访问,在文档类中提供public访问函数。在工程的类视图ClassView中右键单击文档类CDlgDemoDoc,选择Add Member Function...,弹出添加成员函数的对话框。

实验3 窗体的创建

实验3 窗体的创建 一、实验目的 1.掌握利用“设计视图”创建窗体的方法。 2.掌握利用“窗体向导”创建窗体的过程。 3.掌握利用“自动创建窗体”创建窗体的过程。 4.掌握利用“图表向导”创建图表窗体的过程。 5.掌握利用“子窗体向导”创建子窗体的过程。 6.掌握各种窗体控件的使用及属性设置。 二、实验内容 实验3-1 创建一个信息维护窗体“教师信息维护”。 1.实验要求 利用“设计视图”创建一个如图所示的窗体“教师信息维护“,通过它可以对教师表中的记录进行浏览和更新。 2.操作步骤 (1)打开数据库“学生选课系统“。在”数据库“窗口中,选择窗体为操作对象,单击窗口中的”新建“按钮,打开”新建窗体“对话框。 (2)在该对象框中选中“设计视图”选项,并在“轻选择该对象数据的来源表或查询” 下拉列表框中选定表“教师”,然后单击“确定”按钮,打开窗体的“设计视图”窗

口。 (3)对窗体的高度和宽度作适当的调整,添加一个标签控件“教师基本情况维护”,然后,将数据源窗口中的字段逐一地拖到窗体页面中,形成多个标签和文本框控件,再对 这些控件的位置及大小做适当的调整。 (4)用鼠标右键单击“照片”控件,在快捷菜单中选择“属性”命令,弹出“绑定对象框:照片”对话框,在该对话框中将它的“缩放模式”属性值改为“缩放”。 (5)用鼠标右键打开“窗体”属性对话框,如图所示,对窗体的有关属性进行重新设置。 (6)为该窗体添加一个“关闭按钮”。先点击“工具箱”中的“控件向导”按钮使其处于有效状态(按钮凹陷),然后点击一下“工具箱”中的“命令按钮”控件,在窗体的 右下方拖出一个适当大小的按钮区域,便会自动弹出“命令按钮向导”窗口。(7)在“类别”列表中选择“窗体操作”选项,在“操作”列表中选择“关闭窗体”选项,单击“下一步”按钮,进入如图2-5-7所示的向导对话框 (8)选中“图片”单选按钮,在列表框中选中“退出”选项,单击“完成”按钮,结束按钮的添加过程,添加了“退出按钮”的窗体界面如上图所示。 (9)关闭窗体的设计窗口,文件名保存为“教师维护窗体”,结束窗体的创建过程。

相关文档
相关文档 最新文档