当前位置:文档之家› 第六讲 子查询

第六讲 子查询

6

第六讲子查询西南林业大学计算机与信息科学系——鲁 宁

教学目标

?描述子查询能够解决的问题类型

?定义子查询

?列出子查询的类型

?写单行和多行子查询

?能灵活应用子查询解决实际问题西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

用子查询解决问题

谁的薪水比Abel's 多?

哪些雇员的工资高于Abel 的工资?

主查询:

?Abel 的薪水是多少?

?子查询

西南林业大学计算机与信息科学系——鲁 宁

子查询语法

?子查询(内查询) 在主查询之前执行一次

?子查询的结果被用于主查询(外查询)

SELECT

select_list FROM

table WHERE expr expr operator

operator (SELECT

select_list FROM table );

子查询说明?子查询可应用于

–WHERE 子句

–HAVING 子句

–FROM 子句

–CREATE VIEW 语句

–CREATE TABLE 语句

–UPDATE 语句

–INSERT INTO 子句

–UPDATE 语句的 SET 子句?operator 包括比较条件

–单行运算符 (>, =, >=, <, <>, <=)

–多行运算符 (IN, ANY, ALL)

西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

SELECT last_name

FROM employees WHERE salary >

(SELECT salary

FROM employees

WHERE last_name = 'Abel');

使用子查询

11000

使用子查询的原则

?子查询放在圆括号中

?将子查询放在比较条件的右边

?在子查询中的ORDER BY 子句不需要,除非你正在执行Top-N 分析

?在单行子查询中用单行运算符,在多行子查询中用多行运算符

西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

子查询的类型

主查询

子查询 返回ST_CLERK

?多行子查询

ST_CLERK

SA_MAN

主查询

子查询 返回?单行子查询

单行子查询?仅返回一行

?使用单行比较符

运算符

=

> >=

< <=

<>含义

等于

大于

大于等于小于

小于等于不等于

西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

SELECT last_name, job_id, salary

FROM employees

WHERE job_id =

(SELECT job_id

FROM employees

WHERE employee_id = 141)AND salary >

(SELECT salary

FROM employees

WHERE employee_id = 143);

执行单行子查询

ST_CLERK 2600

西南林业大学计算机与信息科学系——鲁 宁

SELECT last_name, job_id, salary

FROM employees WHERE salary =

(SELECT MIN(salary)

FROM employees);

在子查询中使用组函数

2500

带子查询的HAVING 子句?Oracle 服务器首先执行子查询

?Oracle 服务器返回结果到主查询的HAVING 子句中

SELECT department_id, MIN(salary)

FROM employees

GROUP BY department_id

2500

HAVING MIN(salary) >

(SELECT MIN(salary)

FROM employees

WHERE department_id = 50);

西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

SELECT employee_id, last_name

FROM employees

WHERE salary =

(SELECT MIN(salary)

FROM employees

GROUP BY department_id);什么是子查询错误?

ERROR at line 4:ORA-01427: single-row subquery returns more than one row

ERROR at line 4:ORA-01427: single-row subquery returns more than one row 单行运算符用于多行子查询

西南林业大学计算机与信息科学系——鲁 宁

这个子查询是否有返回行?

no rows selected

no rows selected SELECT last_name, job_id

FROM employees

WHERE job_id =

(SELECT job_id

FROM employees

WHERE last_name = 'Haas');子查询无返回值

多行子查询?返回多于一行

?使用多行比较符

 操作

IN ANY ALL 含义

等于列表中的任何成员比较子查询返回的每个值比较子查询返回的全部值

西南林业大学计算机与信息科学系——鲁 宁

西南林业大学计算机与信息科学系——鲁 宁

在多行子查询中使用IN 运算符?查询姓董的学生信息

select select ** from from studinfo studinfo studinfo where where where studname studname studname like '

like '董%';?使用in 列表查询

Select Select ** From From StudInfo StudInfo StudInfo Where Where Where StudName StudName StudName

in('董云霞','董文君','董晓燕','董丽华');

?使用in 子查询

Select Select ** From From StudInfo StudInfo StudInfo Where

Where StudName in (select StudName from from studinfo studinfo studinfo where where studname studname like '

like '董%');

西南林业大学计算机与信息科学系——鲁 宁

使用IN 子查询

?使用in 子查询学生平均分大于80的学生信息

Select Select ** From From StudInfo

StudInfo Where Where StudNo StudNo StudNo IN(

IN(Select Select StudNo StudNo StudNo

From From StudScoreInfo

StudScoreInfo Group by Group by StudNo StudNo StudNo

Having Having Avg(StudScore Avg(StudScore Avg(StudScore)>80);

)>80);

西南林业大学计算机与信息科学系——鲁 宁

使用IN 子查询

?找出重修15门以上的学生信息

Select Select ** From From StudInfo

StudInfo Where Where StudNo StudNo StudNo in(

in(Select Select StudNo StudNo StudNo From From From StudScoreInfo

StudScoreInfo Where Where StudScore StudScore StudScore<60

<60group by group by studno

studno having Count(having Count(*

*)>=15);

西南林业大学计算机与信息科学系——鲁 宁

IN 多重子查询

?查询同班同姓名的学生成绩信息

select select ** from from studscoreinfo studscoreinfo studscoreinfo

where where studno studno studno in(

in( select select studno studno studno from from from studinfo

studinfo where where studname||classid studname||classid studname||classid in

in ( select select studname||classid studname||classid studname||classid from from from studinfo

studinfo group by group by studname||classid

studname||classid having count( having count(*

*)>1));

西南林业大学计算机与信息科学系——鲁 宁

同名同性别学生信息

?select select ** from from studinfo

studinfo ?where (where (studname,studsex studname,studsex studname,studsex)

)?in (Select in (Select studname,studsex

studname,studsex ? from from studinfo

studinfo ?group by group by studname,studsex

studname,studsex ? having count( having count(*

*)>1)

在Win程序中添加控制台窗口方法汇总

XDE(Xanavi Development Enveriment)的在PC机上运行的时候,除了模拟导航仪屏幕的对话框窗口外,还有一个用来协助调试的控制台(console)窗口。这个console窗口可以用来输入调试命令,也可以进行打屏输出以观察程序的运行状态,非常方便。这样做有两个好处:一、console窗口的输入输出速度比一般的windows窗口要快;二、console窗口的输入输出不会对消息流产生影响(你知道,就像dos窗口不知道消息的存在一样,console 窗口也具有这样的特性),而在一般的windows窗口上进行输入输出时,会打乱原有的消息流(因为会有一大堆的像WM_PAINT、WM_GETFOCUS这样与鼠标、焦点、键盘、刷新相关的消息产生)。对于调试与消息相关的程序来说(比如像XDE这样拥有自己消息控制的程序),console这样的特性是非常重要的。 在windows系统下使用C/C++编程的时候,我们一般会有两种选择,一个是做成类似DOS字符界面样式的程序(这就是console程序),这种程序的入口函数是main(对于UNICODE则是wmain),另一种是做成win32窗口程序,这样的程序会产生标准的windows 窗口,它的入口函数是WinMain 。一般来讲,一个win32的窗口程序在默认状态下是不会产生console窗口的。 但是,对于一个win32窗口程序,我们可以在运行期间给这个程序添加一个控制台窗口。有几个win32的API是用来实现这个功能的:AllocConsole,FreeConsole以及与Console相关的Get和Set系列函数。AllocConsole用来产生一个窗口,FreeConsole用来销毁它。下面我们来具体地看看每一个函数的作用。 与Console窗口相关的API函数介绍: BOOL AllocConsole(void) 这个函数为调用它的进程产生一个console窗口,如果成功,就返回非0值;否则,返回0。要注意的是,每个进程最多只有拥有一个console的窗口(但多个进程可能同时拥有一个console窗口,比如子进程可以共享父进程的console窗口),如果这个进程已经有一个console窗口了,那么再调用AllocConsole的时候它会返回0。 BOOL FreeConsole(void) 销毁进程所拥有的console窗口(如果这个console是被多个进程共同拥有,那么它不会被Free掉,但是调用此函数的进程将无法再访问到这个console了)。成功返回非0值,否则返回0 。 HANDLE GetStdHandle( DWORD nStdHandle ); nStdHandle:取STD_INPUT_HANDLE、STD_OUTPUT_HANDLE、STD_ERROR_HANDLE 三个值中的一个。 STD_INPUT_HANDLE:标准输入设备句柄 STD_OUTPUT_HANDLE:标准输出设备句柄 STD_ERROR_HANDLE:标准错误输出设备句柄。 这个函数用来获取标准输入、输出、错误输出设备的句柄。这些句柄是某些console相关的函数上会用到,比如下面几个函数。 BOOL WriteConsole( HANDLE hConsoleOutput, // 控制台窗口输出句柄 const VOID* lpBuffer, // 需要输出的字符所在的buffer address

C语言控制台窗口界面编程(修正版)

控制台窗口界面编程控制 〇、摘要 一、概述 二、控制台文本窗口的一般控制步骤 三、控制台窗口操作 四、文本属性操作 五、文本输出 六、文本操作示例 七、滚动和移动 八、光标操作 九、读取键盘信息 十、读取鼠标信息 十一、结语 补充篇--经典程序(Internet资源) 摘要: 文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用 Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控制台窗口)控制函数(相应的头文件是conio.h)。这必然给C++学习者在文本界面设计和编程上带来诸多不便。要知道,文本界面设计是一种深入学习C++、掌握交互系统的实现方法的最简单的一种手段,它不像C++的Windows图形界面应用程序,涉及知识过多。为此,本系列文章来讨论在Visual C++ 6.0开发环境中,如何编写具有美观清晰的控制台窗口界面的C++应用程序。 (一)概述操作 所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就是指在Windows环境下运行的DOS程序。一旦控制台应用程序在Windows操作系统中运行后,就会弹出一个窗口。例如下列代码: #include int main(int argc,char *argv[]) { printf("Hello, Console!\n"); return 0; } 单击小型编译工具栏中的“Build”按钮或按F7键,系统出现一个对话框,询问是否将此项目的工作文件夹设定源文件所在的文件夹,单击[是]按钮,系统开始编译。

Excel表格打印设置及视图窗口使用

经常在Excel中制作表格时,我们不可能仅仅只作一个表格,有时可能会在一个工作簿中制作多个表格。但我们又希望将所有的表格分别打印到每一张纸上面,每张纸上面只打印一个表格,那么,我们应该如何实现呢?有许多朋友都是重建新工作簿,再将表格一个一个的剪切到新工作簿中,每个工作簿里面放一个表格,最后再一个个的打印出来。虽说这种方法可以实现,但是操作比较繁琐。其实Word联盟(https://www.doczj.com/doc/0615424329.html,)有更好更简单的方法,利用Excel中的分页功能,在一个工作簿中打印出多个表格,每张纸上面打印一个表格。 Excel中如何设置手动分页打印 现在工作簿中有4个表格,我希望每张纸上面打印一个表格,分别用4张纸打印出来。 ①进入“视图”选项卡,单击“工作簿视图”选项组中的“分页预览”; ②上图“分页预览”中只有2页,分别是“第1页”和“第2页”。我们将光标移动右下角边框处,当鼠标变成双箭头时,按住左键不放,拖动边框,直到看见“第3页”和“第4页”的时候就放开鼠标;(如下图)

③现在Excel就可以打印4个页面出来了,但我们还需要将上面两个表格剪切到下面来才行,剪切完成如下图:

好了,现在分页已经完成了,打印工作簿的话,会打印4张纸,每张纸上面一个表格,下面再来说说如何自动分页打印! Excel中自动分页页面设置 纵向/ 横向设置:单击“页面布局”选项卡,单击“页边距”,选中最下面的“自定义边距”,在弹出的“页面设置”中可以选中“纵向”或“横向”; 分页的页边距设置:然后进入“页边距”设置上、下、左、右的边距大小;

所以页面的页眉页脚设置:你也可以自定义页任意设置眉和页脚。

VB6.0中的窗口控制全集

VB6.0中的窗口控制全集 2 2007-03-20 11:28:55| 分类:开发语言阅读376 评论0 字号:大中小订阅 让窗口一直在上面 很多流行软件都有这样一个选项:Always on Top。它可以让窗口在最上面,别的窗口不能覆盖它。我们在VB 中,可以使用下面的方法来实现: Private Const SWP_NOSIZE = &H1 Private Const SWP_NOMOVE = &H2 Private Const SWP_NOZORDER = &H4 Private Const SWP_NOREDRAW = &H8 Private Const SWP_NOACTIVATE = &H10 Private Const SWP_FRAMECHANGED = &H20 Private Const SWP_SHOWWINDOW = &H40 Private Const SWP_NOCOPYBITS = &H80 Private Const SWP_NOOWNERZORDER = &H200 Private Const SWP_DRAWFRAME = SWP_FRAMECHANGED Private Const SWP_NOREPOSITION = SWP_NOOWNERZORDER Private Const HWND_TOP = 0

Private Const HWND_BOTTOM = 1 Private Const HWND_TOPMOST = -1 Private Const HWND_NOTOPMOST = -2 Private Declare Function SetWindowPos Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hWndInsertAfter As Long, _ ByVal X As Long, _ ByVal Y As Long, _ ByVal cx As Long, _ ByVal cy As Long, _ ByVal wFlags As Long) As Long Private mbOnTop As Boolean Private Property Let OnTop (Setting As Boolean) if Setting Then SetWindowPos hwnd, -1, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Else SetWindowPos hwnd, -2, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE End If mbOnTop = Setting End Property

利用wmctrl控制窗口

【转载】利用wmctrl控制窗口2009-06-29 16:02:48 分类:IT职场 使用wmctrl控制窗口行为使用wmctrl控制窗口行为 2008年04月08日星期二 , 1,260 次点击 前两天我谈了窗口匹配工具Devil’s Pie的使用,和DP一样,wmctrl同样可以控制窗口的行为。不同的是,DP是一个规则匹配工具,通过检查既有的窗口规则配置文件在DP启动时或窗口打开时应用规则到窗口;而wmctrl是一个命令行工具,它完全通过命令行命令来控制窗口行为。 一个使用wmctrl操纵窗口行为的实际命令如下: wmctrl -r firefox -b add,shaded 此命令将标题中含有”firefox”字串的窗口折叠起来。 wmctrl的命令行命令格式分为三个组成部分:动作、选项和参数。 要控制一个窗口的行为,首先要让wmctrl找到这个窗口。在这一点上,wmctrl是通过参数来实现的。 值为一个整数,用来指定相应的工作区。和DP不同,wmctrl从0开始计数,即第一个虚拟桌面为0,第二个是1。 一个”g,x,y,w,h”格式的字符串,用来指定窗口的层次、位置和大小。其中,”g”代表窗口的层次,所有窗口普通层次的值都为0;”x”和”y”分别是窗口的横、竖坐标;”w”和”h”分别是窗口的宽度和高度。五个参数都是整数,宽度和高度的值如果不需要改变,可以使用”-1″来代替。 缺省情况下,此参数表示一个字符串,所有标题中含有此字符串的窗口都是匹配项,忽略大小写。如果加上”-F”选项,则会检查大小写。如果使用”-i”的选项,此参数将被当作一个整数来进行比较。 此参数有两个特殊值:”:SELECT:”表示命令执行后需要用户选择一个窗口作为目标,然后将命令作用到该窗口;”:ACTIVE:”表示将当前处于活动状态的窗口作为命令执行目标。 当前只实现了一个workaround属性,即”DESKTOP_TITLES_INVALID_UTF8″。在使用Window Maker作为窗口管理器时可以修正打印非ASCII编码窗口标题的输出结果。 wmctrl选择目标窗口的选项并不如DP丰富和精确,不过大多数情况下并不影响使用,况且通过”“参数的两个特殊值可以多少弥补一些选项上的缺失,且能提供一种更机动的操作方式。 当选择了目标窗口后,就要向该窗口指定具体行为了。这一点通过”动作”来实现。 -a

控制台窗口界面控制设计

摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动、光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控制台窗口)控制函数(相应的头文件是conio.h)。这必然给C++学习者在文本界面设计和编程上带来诸多不便。要知道,文本界面设计是一种深入学习C++、掌握交互系统的实现方法的最简单的一种手段,它不像C++的Windows图形界面应用程序,涉及知识过多。为此,本系列文章来讨论在Visual C++ 6.0开发环境中,如何编写具有美观清晰的控制台窗口界面的C++应用程序。 一、概述 所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就是指在Windows环境下运行的DOS程序。一旦C++控制台应用程序在Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。例如下列过程: 单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的文档窗口。 选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save按钮,弹出“保存为”文件对话框。将文件名为“Hello.cpp” (注意扩展名.cpp不能省略)。 在文档窗口中输入下列代码: #include void main() { cout<<"Hello, Console!"< } 单击小型编译工具栏中的“Build”按钮或按F7键,系统出现一个对话框,询问是否将此项目的工作文件夹设定源文件所在的文件夹,单击[是]按钮,系统开始编译。 单击小型编译工具栏中的“Execute Program”按钮或按Ctrl+F5键,运行刚才的程序。 程序运行后,弹出下图的窗口。

如何控制其他程序窗体上的窗口控件

如何控制其他程序窗体上的窗口控件 回调函数写出来不是自己的程序去调用的,反而是让其他的东西去调用,比如windows 操作系统,比如其他的程序等等之类的。但是什么时候被调用却不知道了。回调函数一般是按照调用者的要求定义好参数和返回值的类型,你向调用者提供你的回调函数的入口地址,然后调用者有什么事件发生的时候就可以随时按照你提供的地址调用这个函数通知你,并按照预先规定好的形式传递参数。所以很多人打比方,说回调函数还真有点像您随身带的BP 机:告诉别人号码,在它有事情时Call您! 所以一个回调函数写出来之后,一定有个注册的动作,就是告诉调用者,你怎么样找到我写的函数。某些Windows API 函数会要求以回调函数地址作为其参数之一,例如SetTimer 、LineDDA 、EnumObjects,以及我们下面要用到的EnumWindows。 在Delphi里声明一个回调函数的格式很简单,例如: function EnumWindowsProc(AhWnd:LongInt;lParam:LongInt):boolean;stdcall; 首先是函数名称可以随便乱取,但函数参数的类型一般不得乱来,其顺序,数据类型等都有规定的,因为这些都是让其他程序调用的,他们已经规定好了的,但参数名称可以随便乱叫。注意后面一定要带上“stdcall”, stdcall是标准调用,也就是说采用标准windows参数传递方式来调用函数。 编写函数体就很简单了,利用传递过来的参数就可以了,只要记住,这些参数是别人送给你的,你只要知道这些参数代表了什么意思。 再看个向调用者注册回调函数入口地址的函数。 function EnumWindows(lpEnumFunc: TFNWndEnumProc; lParam: LPARAM): BOOL; stdcall; TFNWndEnumProc其实就是指针类型。其中的lpEnumFunc就是回调函数的入口地址了。 下面是调用EnumWindows的格式: EnumWindows(@EnumWindowsProc,0); 通过向系统注册回调函数的入口地址,系统就能在需要的时候,调用回调函数,传递参数给它,也许这些参数就是我们想要的。 EnumWindows函数的功能是:枚举屏幕上所有程序中的顶层窗口,将窗口句柄以参数的形式传递给回调函数。找到一个窗口,就调用一次回调函数。枚举结束的条件是:要么枚举完所有的窗口,要么回调函数返回False。 lParam: LPARAM参数是程序定义的值,这个值被传递到回调函数。 回过头来再看一下EnumWindowsProc: function EnumWindowsProc(AhWnd:LongInt;lParam:LongInt):boolean;stdcall; 当系统找到了一个窗口后,就开始调用这个回调函数,将窗口的句柄作为第一个参数传递过来,将在EnumWindows中lParam: LPARAM这个程序定义的值作为第二个参数传递过来。 所以我们可以在EnumWindowsProc函数中利用传递过来的两个参数来做某些处理了。 下面我们新建一个程序列举系统中所有程序的顶层窗口,我们要得到窗口的标题,要得到窗口类名称。 得到窗口标题用: function GetWindowText(hWnd: HWND; lpString: PChar; nMaxCount: Integer): Integer; stdcall; 该函数功能是将窗口句柄为hWnd的窗口的标题拷入到一个缓冲区lpString。nMaxCount

电机控制窗口制作

电机控制窗口制作 1)设备名称:首先添加个静态文本框,单击右键出现选择对话框,单击选择属性,出现对象属性对话框,选择属性中的字体属性,设置字体属性中的文本属性,静态填写设备名称,动态添加变量Y_NAME(为内部变量,文本变量8位字符集),更新周期为有变化时。 2)设备编号:首先添加个静态文本框,单击右键出现选择对话框,单击选择属性,出现对象属性对话框,选择属性中的字体属性,设置字体属性中的文本属性,静态填写设备编号,动态添加变量Y_KKS(为内部变量,文本变量8位字符集),更新周期为有变化时。 3):首先从图库中添加该图标,单击右键出现选择对话框,单击选择属性,出现对象 属性对话框,选择事件,选择对象事件,选择单击,单击右键,选择C动作,添加程序,程序如下: #include "apdefap.h" void Click(char* lpszPictureName, char* lpszObjectName ) { SetV isible("运行画面","电机控制帮助窗口",TRUE);} 4)设备状态:首先添加个静态文本框,单击右键出现选择对话框,单击选择属性,出现对象属性对话框,首先选择颜色属性,选择背景颜色,单击右键选择动作对话框,在表达式/公式中添加变量: GetTagBit(GetTagChar("M_SF"))+GetTagBit(GetTagChar("M_SS"))*2 其中M_SF和M_SS为内部变量,文本变量8位字符集。 数据类型:选择模拟量 表达式/公式结果: 1. 数值范围1:等于0;颜色为绿色 2. 数值范围2:等于1;颜色为红色 3. 数值范围3:等于2;颜色为绿色 4. 数值范围4:等于3;颜色为黄色

中文版3Dmax的操作界面简介

3D操作界面 你安装好3DS MAX后,按下3D的启动标志,就进入了它的总界面.大家可以从总界面图了解下3DS MAX.它分为菜单栏,工作视窗,命令面板,动画面板,窗口控制板,工具图标栏,辅助信息栏等几个部分,先来了解下它各部份的简介. 菜单栏 主菜单位于屏幕最上方,提供了命令选择.它的形状和Windows菜单相似。主菜单栏的特点如下: 1:主菜单上共有十一个菜单项: File(文件)用于对文件的打开、存储、打印、输入和输出不同格式的其它三维存档格式,以及动画的摘要信息、参数变量等命令的应用。 Edit(编辑)用于对对象的拷贝、删除、选定、临时保存等功能。 Tools(工具)包括常用的各种制作工具。 Group(组)将多个物体组为一个组,或分解一个组为多个物体。 Views(视图)对视图进行操作,但对对象不起作用。 Rendering(渲染)通过某种算法,体现场景的灯光,材质和贴图等效果。 Trsck View(轨迹视图)控制有关物体运动方向和它的轨迹操作。 Schematic View(概要观看)一个方便有效、有利于提高工作效率的视窗。例子:如果你在要画一个人体动画,那么你就可以在Schematic View(概要观看)中很好地组织身体的各个部份,这样有利于你去选择其中一部分进行修改。这是新增的,有点难明,以后我们会详细地学到它。 Customize(定制)方便用户按照自已的爱好设置操作界面。3DS MAX3。1的工具条、菜单栏、命令面板都可以放置在任意的位置,如果你厌烦了以前的工作界面,就可以自已定制一个保存起来,下次启动时就会自动加载。 MAXScript(打开脚本之类的意思)这是有关编程的东西。将编好的程序放入3DSMAX中来运行。 Help(帮助)关于这个软件的帮助。包括在线帮助,插件信息等。 这些命令以后我们会很详细地说明它的功能,注意,这里它的中文意思是用东方快书翻译软件翻译的。 2:将鼠标置于菜单栏上的菜单命令名称上并单击,即可弹出该命令的菜单。 3:打开某一个菜单后,只需在菜单栏上的各个菜单名称之间来回移动即可切换动其它菜单。 4:菜单栏上有些命令名称旁边有“...”号的,表示单击该名称可以弹出一个对话框。 5:菜单上的命令名称最右方有一个小三角形,表示该命令后还有其它的命令,单击它可以弹出一个新的子菜单。 6:菜单上命令旁边的字母表示该菜单命令的快捷键。 缺省界面了解 上面的图是3D STUDIO MAX的缺省界面。在3。0以前的版本中,它的操作界画是不可以更改的,但在3。0以后,引入了GUI图形界画用户接口,我们就可以随便更改它的操作界面,下面你们来玩一下改变它的操作界面。 按键盘Ctrl+X.只剩下工作窗口,再按下Ctrl+X,又恢复界面原形。 按Q钮,右边的命令面板被隐藏,再按Q钮,命令面板又出现 3DMAX的面板可以移动。将鼠标放在面板空旷上面,出现一个拖动符号,就可以拖动该面板。又击面板顶部,可以交浮动的面板还原初始位置。 这里有个问题,如果界面乱了,怎么办不要紧,我们选择菜单栏上的Customixe/Load

CMD下打开控制面板

CMD下打开控制面板 控制面板 模块: control.exe 命令: rundll32.exe shell32.dll,Control_RunDLL 结果:显示控制面板窗口。 辅助选项 模块: access.cpl 命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,5 结果:显示辅助选项/常规。 命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,1 结果:显示辅助选项/键盘。 命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,2 结果:显示辅助选项/声音。 命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,3 结果:显示辅助选项/显示。 命令: rundll32.exe shell32.dll,Control_RunDLL access.cpl,,4 结果:显示辅助选项/鼠标。 添加新硬件 模块: sysdm.cpl 命令:rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl @1 增加新的打印机 模块:shell32.dll 命令:rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter 添加/删除程序 模块:appwiz.cpl 命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 结果:显示安装/卸载。 命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,1 结果:显示安装/卸载。 命令:rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl,,2 结果:显示Windows 安装。

设置控制台窗口界面

怎样设置控制台窗口界面 一、概述 所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就是指在Windows环境下运行的DOS程序。一旦C++控制台应用程序在Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。例如下列过程: 单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的文档窗口。 选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save按钮,弹出“保存为”文件对话框。将文件名为“Hello.cpp” (注意扩展名.cpp不能省略)。 在文档窗口中输入下列代码: #include void main() { cout<<"Hello, Console!"<

} 单击小型编译工具栏中的“Build”按钮或按F7键,系统出现一个对话框,询问是否将此项目的工作文件夹设定源文件所在的文件夹,单击[是]按钮,系统开始编译。 单击小型编译工具栏中的“Execute Program”按钮或按 Ctrl+F5键,运行刚才的程序。 程序运行后,弹出下图的窗口。 这就是控制台窗口,与传统的DOS屏幕窗口相比最主要的区别有: (1) 默认的控制台窗口有系统菜单和标题,它是一个内存缓冲区窗口,缓冲区大小取决于Windows操作系统的分配;而DOS 屏幕是一种物理窗口,不具有Windows窗口特性,其大小取决于ROM BIOS分配的内存空间。

(2) 控制台窗口的文本操作是调用低层的Win32 APIs,而DOS屏幕的文本操作是通过调用BIOS的16(10h)中断而实现的。 (3) 默认的控制台窗口可以接收键盘和鼠标的输入信息,设备驱动由Windows管理,而DOS屏幕窗口接收鼠标时需要调用33h中断,且鼠标设备驱动程序由自己安装。 二、控制台文本窗口的一般控制步骤 在Visual C++ 6.0中,控制台窗口界面的一般编程控制步骤如下: 调用GetStdHandle获取当前的标准输入(STDIN)和标准输出(STDOUT)设备句柄。函数原型为: HANDLE GetStdHandle( DWORD nStdHandle ); 其中,nStdHandle可以是STD_INPUT_HANDLE(标准输入设备句柄)、STD_OUTPUT_HANDLE(标准输出设备句柄)和STD_ERROR_HANDLE(标准错误句柄)。需要说明的是,“句柄”是Windows最常用的概念。它通常用来标识Windows资源(如

java窗口控制程序

1:建立个空窗口; /* * 2011-10-25 * ZhangJun1.java * 窗口控制程序 * */ package窗口控制程序; import javax.swing.JFrame; class ZhangJun extends JFrame{ public ZhangJun(String title){ super(title); setSize(500,350); } } public class ZhangJun1 { public static void main(String[] args){ ZhangJun zh=new ZhangJun("空框架"); zh.setVisible(true); zh.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } 2:添加按钮; package 窗口控制程序; /*2011-10-25 * ZhangJun2.java * 窗口控制程序 * * */ import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; class ButtonFrame extends JFrame{ ButtonFrame(){ super("窗口程序"); JButton zh=new JButton("OK"); //Container in=getContentPane(); //Container jj=getContentPane(); //in.add(zh);

控制台窗口界面控制设计

控制台窗口界面控制设计(一) 作者:丁有和转贴自:yesky 点击数:139 文章录入:本站编辑 摘要:文本界面的控制台应用程序开发是深入学习C++、掌握交互系统的实现方法的最简单的一种手段。然而,Visual C++的C++专用库却没有TC所支持的文本(字符)屏幕控制函数,为此本系列文章从一般控制步骤、控制台窗口操作、文本(字符)控制、滚动和移动、光标、键盘和鼠标等几个方面讨论控制台窗口界面的编程控制方法。 在众多C++开发工具中,由于Microsoft本身的独特优势,选用Visual C++已越来越被众多学习者所接受。显然,现今如果还再把TC作为开发环境的话,不仅没有必要,而且也不利于向Windows应用程序开发的过渡。然而,Visual C++的C++专用库却没有TC所支持的文本屏幕(控制台窗口)控制函数(相应的头文件是conio.h)。这必然给C++学习者在文本界面设计和编程上带来诸多不便。要知道,文本界面设计是一种深入学习C++、掌握交互系统的实现方法的最简单的一种手段,它不像C++的Windows图形界面应用程序,涉及知识过多。为此,本系列文章来讨论在Visual C++ 6.0开发环境中,如何编写具有美观清晰的控制台窗口界面的C++应用程序。 一、概述 所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。简单地讲,就是指在Windows环境下运行的DOS程序。一旦C++控制台应用程序在Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。例如下列过程: 单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的文档窗口。 选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save按钮,弹出“保存为”文件对话框。将文件名为“Hello.cpp” (注意扩展名.cpp不能省略)。 在文档窗口中输入下列代码: #include void main() { cout<<"Hello, Console!"<

ThinkDesign视图操作

视图操作 本课程将介绍基本的2D/3D视图操作。您可通过本课程学习如何旋转、缩放、平移以及修改显示模式和方位等操作。 步骤1:旋转模型 我们首先关闭设计树。打开模型文件可以看到两个纵向排布的窗口。左侧窗口包含了设计历史树、可视标签页和注解标签页,右侧窗口则为2D或3D模型显示的图形区域。 ?将指针移至设计历史树和绘图区分隔栏处,此时指针变为 ?按住鼠标左键拖动分隔线将其向左侧拖动,以关闭设计树

提示,在滚动或点击教学指南窗口后要回到thinkdesign窗口,你可以这样操作: ?单击thinkdesign窗口标题栏或单击thinkdesign窗口的空白处。 注意不要单击绘图区,尤其是当某个命令正在使用时。 现在我们已知道如何返回thinkdesign窗口,那就让我们从不同角度观察一下零件吧。 ?在绘图区任意位置单击鼠标右键并按住不放 ?拖动鼠标即可旋转视图

?在任意位置都可以松开鼠标右键停止旋转 技巧提示:你可以随时使用动态旋转命令,即使正在应用其它命令。 好,现在返回到初始视图 ?从下拉菜单中选择视图上一视图,要想返回初始视图可能需要多次单击上一视图。

接下来我们要用不同的方式来显示模型。 Related Topics ?Getting Acquainted with thinkdesign UI. ?Views.

视图操作 步骤2:显示模型 我们来看一下改变主轴显示方式时可能用到的选项。 你会发现在图形上各个面的边界线都显示在上面,我们看看如何可以消除它。 ?打开状态栏下的标准工具条,单击视图显示下拉按纽。 ?单击线框视图,仅显示边线。

计算机窗口操作快捷键

1.windows键后+再按L键,锁屏 2. Windows键+再按E键,资源管理器 3直接按下Windows键和D键,切换到桌面 4. windows键+按Tab键,可以以3D效果显示切换窗口 5.windows键+R,输入psr.exe回车(problem step record),windows自带的录像功能。 6按下Windows键+X,一次性满足 -- 7.Windows + R输入osk,虚拟键盘 8.windows键和+,屏幕放大 9. 用Ctrl+Tab,现在很多程序,比如QQ,IE,都是在同一个窗口里面打开几个页面。,可 以在几个页面之间互相切换。 10.用Ctrl+w,关闭当前页面。 11.Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl+O 打开 Ctrl+Z 撤销 Ctrl+F 查找

Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+] 放大文字 Ctrl+U 下划线 Ctrl+Shift 输入法切换 Ctrl+空格中英文切换 Ctrl+回车QQ号中发送信息 Ctrl+Home 光标快速移到文件头 Ctrl+End 光标快速移到文件尾 Ctrl+Esc 显示开始菜单和windows键作用一样 Ctrl+Shift+> 快速放大文字等价于ctrl+】 Ctrl+F5 在IE中强行刷新 Ctrl+拖动文件复制文件 Ctrl+Backspace 启动\关闭输入法 拖动文件时按住Ctrl+Shift 创建快捷方式

Alt+空格+C 关闭窗口 Alt+空格+N 最小化当前窗口Alt+空格+R 恢复最小化窗口Alt+空格+X 最大化当前窗口Alt+空格+M 移动窗口 Alt+空格+S 改变窗口大小Alt+Tab 两个程序交换 Alt+255 QQ号中输入无名人Alt+F 打开文件菜单 Alt+V 打开视图菜单 Alt+E 打开编辑菜单 Alt+I 打开插入菜单 Alt+O 打开格式菜单 Alt+T 打开工具菜单 Alt+A 打开表格菜单 Alt+W 打开窗口菜单 Alt+H 打开帮助菜单 Alt+回车查看文件属性 Alt+双击文件查看文件属性Alt+X 关闭C语言 Shift快捷键 Shift+空格半\全角切换

Excel VBA编程 控制窗口

Excel VBA 编程 控制窗口 前面讲解使用VBA 对窗口的一些基本操作。接下来,利用VBA 还可以控制窗口的大小,位置等。通过VBA 对窗口的控制,可以让其按照用户的要求来显示窗口。这些操作都是通过设置Window 对象的属性来完成的。 1.设置窗口大小 设置窗口大小,即指定窗口的高度和宽度,需要用到Height 和Width 属性。它们分别代表窗口的高度和宽度。用户可以通过设置该属性值来指定窗口的大小。 2.拆分窗口 使用拆分工作表窗口功能可以将一个窗口折分成若干个窗口,以方便用户同时查看分隔较远的工作表部分。 拆分工作表窗口主要使用以下属性。 ● Split 属性 该属性设置窗口是否拆分,即属性值为True 时表示窗口拆分,否则窗口不拆分。 ● SplitHorizontal 和SplitVertical 属性 该属性是设置拆分窗口的样式,即SplitHorizontal 表示水平拆分窗口,SplitVertical 表示垂直拆分窗口。 ● SplitColumn 和SplitRow 属性 该属性分别表示窗口拆分成窗格处的列号和行号,可以按照指定属性值的大小对窗口进行拆分。 3.冻结窗口 冻结工作表与折分工作表功能相同,都是将一个窗口拆分成若干个,在滚动工作表其余部分时,保持首列可见,以方便用户进行查看。 实现该功能需要用到FreezePanes 属性,即指定该属性值为True 则冻结窗口,否则取消冻结。 4.重排窗口 重排可以使工作表在查看时更方便,如用户为了对比两个或多个窗口中的数据,可以使用水平或垂直并排的排列方式进行查看。 在重排窗口时,需要用到Arrange 方法。 格式: 表达式.Arrange(ArrangeStyle, ActiveWorkbook, SyncHorizontal, SyncVertical) 其中,表达式代表一个Windows 对象的变量,而其他参数功能如表18-8所示。 表18-8 Arrange 方法 提 示 如果窗口已被最大化或最小化,则不能指定出口显示的大小。

文档视图结构窗口全屏显示

文档视图结构窗口全屏显示 1)在CMainFrame类中,增加如下三个成员变量。 private: WINDOWPLACEMENT m_OldWndPlacement; //用来保存原窗口位置 BOOL m_bFullScreen; //全屏显示标志初始状态为FALSE CRect m_FullScreenRect; //表示全屏显示时的窗口位置 2)响应全屏显示菜单函数 void CMainFrame::OnFullScreen() { GetWindowPlacement(&m_OldWndPlacement); CRect WindowRect; GetWindowRect(&WindowRect); CRect ClientRect; RepositionBars(0, 0xffff, AFX_IDW_PANE_FIRST, reposQuery, &C lientRect); ClientToScreen(&ClientRect); // 获取屏幕的分辨率 int nFullWidth=GetSystemMetrics(SM_CXSCREEN); int nFullHeight=GetSystemMetrics(SM_CYSCREEN); // 将除控制条外的客户区全屏显示到从(0,0)到(nFullWidth, nFullHeight)区域, 将(0,0)和(nFullWidth, nFullHeight)两个点外扩充原窗口和除控制条之外的客户区位置间的差值, 就得到全屏显示的窗口位置 m_FullScreenRect.left=WindowRect.left-ClientRect.left; m_FullScreenRect.top=WindowRect.top-ClientRect.top; m_FullScreenRect.right=WindowRect.right-ClientRect.right+nFu llWidth; m_FullScreenRect.bottom=WindowRect.bottom-ClientRect.bottom+nFullHeight; m_bFullScreen=TRUE; // 设置全屏显示标志为 TRUE // 进入全屏显示状态 WINDOWPLACEMENT wndpl; wndpl.length=sizeof(WINDOWPLACEMENT); wndpl.flags=0; wndpl.showCmd=SW_SHOWNORMAL; wndpl.rcNormalPosition=m_FullScreenRect; SetWindowPlacement(&wndpl); } 3)重载CMainFrame类的OnGetMinMaxInfo函数,在全屏显示时提供全屏显示的位置信息。 void CMainFrame::OnGetMinMaxInfo(MINMAXINFO FAR* lpMMI)

第三章 AutoCAD视图操作

第三章 AutoCAD视图操作 3.1 缩放与平移视图 3.1.1缩放视图 缩放视图可以增加或减少图形对象的屏幕显示尺寸,同时对象的真实尺寸保持不变。通过改变显示区域和图形对象的大小,用户可以更准确和更详细地绘图。 使用缩放命令方法有两种: 1、选择“工具栏”→“视图”→“缩放”(如图) 2、右键自定义菜单,勾选“缩放”子命令(如图) 缩放工具有8个选项,每个选项的功能和意义如下: ①“窗口缩放”:通过在屏幕上拾取两个对角点来确定一个矩形窗口,之后,系统将矩形范围内的图形放大至整个屏幕。 ②“动态缩放”:可以动态缩放视图。进入动态缩放模式时,在屏

幕中将显示一个带“×”的矩形方框,单击选择窗口的“×”将消失,而后显示一个位于右框的方向箭头,拖到光标可改变选择窗口的大小,最后,按下Enter键,回车即可缩放图形。 ③“比例缩放”:以一定的比例来缩放视图。在命令行提示“输入比例因子(nX 或nXP):”时,输入的数字大于1时放大视图;等于1时显示整个视图;小于1时(必须大于0,如0.7)缩小视图。 ④“中心缩放”:在图形中指定一点,在命令行提示“指定中心点和输入比例或高度”时,输入数值,而选择的点将作为该视图的中心点。 ⑤“放大”:选择该模式一次,系统将整个视图放大1倍。 ⑥“缩小”:选择该模式一次,系统将整个视图缩小1倍。 ⑦“全部缩放”可以显示整个图形中的所有对象。 ⑧“范围缩放”:可以再屏幕上尽可能大地、居中地显示所有图形对象。

3.1.2平移视图 使用平移视图命令,可以定位图形位置,以便看清楚图形的其他部分。 使用平移命令方法有两种: 1、单击标准工具栏中的实时平移工具,(如图) 2、选择“工具栏”→“视图”→“平移”(如图) 使用平移命令平移视图时,视图的显示比例不变。平移功能有“实时”和“定点”两种模式。 ①“实时平移”:在实时平移模式下,鼠标指针变成一只小手。按下鼠标左键拖动,窗口内的图形就可按光标移动的方向移动。放开鼠标左键,按Esc退出键或Enter回车键,可以退出实时平移模式。 ②“定点平移”:通过指定基点和位移值来移动视图。

相关主题
文本预览
相关文档 最新文档