控制台窗口界面控制设计

合集下载

C语言实现可视化人机界面的有效方法

C语言实现可视化人机界面的有效方法

C语言实现可视化人机界面的有效方法C语言是一种通用的编程语言,被广泛应用于嵌入式系统、操作系统和应用程序的开发中。

尽管C语言本身并不直接支持图形用户界面(GUI)的开发,但通过结合一些第三方库和技术,我们可以实现C语言的可视化人机界面。

在C语言中实现可视化人机界面的有效方法包括以下几种:1.使用图形库:使用图形库可以使界面更加友好,并允许用户通过鼠标和键盘进行交互。

常用的图形库包括SDL、GTK+和Qt等。

这些图形库提供了丰富的绘图、事件处理和界面元素库,方便开发者创建具有各种功能和样式的界面。

2.使用控制台窗口:控制台窗口是C语言程序的默认界面,可以通过在控制台上输出文本、表格和图形来实现可视化界面。

控制台窗口的优势是简单易用,无需额外的库和依赖,适用于简单的界面需求。

3. 使用基于Web的界面:在C语言中,可以通过内嵌Web服务器的方式实现基于Web的可视化人机界面。

通过这种方式,可以使用HTML、CSS和JavaScript等Web技术创建动态交互的界面。

例如,可以使用C语言编写一个带有内嵌Web服务器的程序,然后通过浏览器与用户进行交互。

4.使用ASCII字符界面:ASCII字符界面是使用ASCII字符和控制字符进行界面渲染的一种简单但有效的方式。

通过C语言的输出函数,可以直接在控制台上绘制字符界面,包括文本、边框、按钮等。

虽然ASCII界面的交互性和表现力有限,但它适用于一些简单的控制台应用程序。

5. 使用跨平台的界面库:C语言的一个优势是跨平台性,开发者可以使用一些跨平台的界面库来实现可视化界面。

这样一来,可以在不同的操作系统上运行相同的C语言程序,并保持一致的界面体验。

跨平台的界面库包括FLTK、wxWidgets等。

在实现可视化人机界面时,除了选择适合的技术和库之外,还有一些其他的注意事项:1.设计良好的用户界面:用户界面应该易于使用、直观和符合用户的习惯。

在设计界面时,需要考虑用户的需求和使用习惯,合理布局界面元素,提供明确的操作指引和反馈。

如何设计有效的HMI界面

如何设计有效的HMI界面

如何设计有效的HMI界面在设计有效的控制台操作HMI(人机界面)时,对ASM准则最常见的误解和错误应用,就是过度强调颜色:简单地将某种新的颜色,用于控制台某个位置处的所有现存显示画面。

一般称之为HMI类似替换迁移工程(like-for-like HMI migration project)。

有些人可能希望在这种仅仅是颜色类似替换的工程中,能够将图1所示的画面转换成图2所示的画面。

典型情况下,如果分布式控制系统(DCS)的HMI,不是经过精心设计的、基于控制台操作员操作深度的层级画面显示,那么它就是扁平化的DCS显示系统。

在该系统中,大部分显示画面,会被精确地设计为P&ID(管道和仪表图)细节显示。

面对这样的DCS显示系统。

控制台操作人员一般会以图3所示的方式来使用DCS屏幕,每个操作人员会根据自己的喜好,来选择第3级设备显示画面以及报警汇总画面。

最好的情况是,如果开发人员在颜色选择上正确的应用了ASM准则,并且遵循了良好的画面显示布局原则,那么迁移的DCS显示系统也许具有满足ASM要求的单个第3级显示画面,但是DCS的HMI并不满足ASM要求。

图1 在进行HMI类似颜色替换工程之前的现有显示画面。

的要求是什么??ASM的要求是什么在HMI设计中使用ASM导则,并不仅仅是将彩色转换成灰度的设计,也不是仅在报警中使用颜色。

实际上,ASM准则提倡有效的利用颜色,包括恰当的规定某些显示背景,这些背景颜色在色调上,要比HMI库中那些供应商提供的、声称满足ASM准则的背景颜色要亮一些。

但是,要设计出满足ASM要求的HMI,还应遵循其它方面的要求,尤其是在显示类型、显示内容、浏览和交互等方面。

这就要求注意其它的实施细节:图2 迁移后的显示画面,使用了某些基本的布置原则。

■ 基于主要的操作步骤,设计显示层次,以符合操作员的思维模式;■ 设计与显示层次一致的第2级控制和监视画面,利用这些第2级画面,可以完成日常操作;■ 与主题专家一起,依据需求分析,识别第1、2、3、4级显示内容,使得HMI能够支持操作员工况认知、日常监视和控制操作、故障诊断活动以及异常工况管理。

控制台窗口界面(谷风软件)

控制台窗口界面(谷风软件)

怎样设置控制台窗口界面计算机专业----vc技术篇2010-05-19 23:03:58 阅读80 评论0 字号:大中小订阅本片日志来自:/Article/Programming/CC/200907/30628.html一、概述所谓控制台应用程序,就是指那些需要与传统DOS操作系统保持某种程序的兼容,同时又不需要为用户提供完善界面的程序。

简单地讲,就是指在Windows环境下运行的DOS程序。

一旦C++控制台应用程序在Windows 9x/NT/2000操作系统中运行后,就会弹出一个窗口。

例如下列过程:单击Visual C++标准工具栏上的“New Text File”按钮,打开一个新的文档窗口。

选择File | Save菜单或按快捷键Ctrl+S或单击标准工具栏的Save按钮,弹出“保存为”文件对话框。

将文件名为“Hello.cpp” (注意扩展名.cpp不能省略)。

在文档窗口中输入下列代码:#includevoid 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中断,且鼠标设备驱动程序由自己安装。

Java图形用户界面设计

Java图形用户界面设计

13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。

第02章 Fluent用户界面

第02章 Fluent用户界面

第二章Fluent用户界面FLUENT包括下拉菜单,面板和对话框还包括文本命令行的界面。

本章详细介绍了上述几个部分的使用方法及相应功能。

2.1图形用户界面(GUI)它由控制台窗口,控制面板,对话框以及图形窗口组成。

下图就是典型的fluent界面。

上述四个部分将在下面详细介绍。

在UNIX系统中,GUI (包括颜色和字体)可以自定义以适合操作系统的环境。

Figure 1:屏幕显示的GUI各部分2.1.2控制台(Console)FLUENT控制台是控制程序执行的主窗口。

用户和控制台之间有两种交流方式:文本界面(TUI),图形界面(GUI)。

控制包括终端仿真程序和菜单按钮的图形界面。

Figure 2: 控制台2.1.3终端仿真程序终端仿真程序和MS-DOS命令提示符类似,它使你能够和TUI菜单交流。

所有的文本都输出到终端仿真程序,所有的输入都从最底行开始。

快捷键Control-C可以暂停正在计算的程序。

它也支持控制台和其它X Window或Windows NT应用程序之间文本的复制和粘贴。

下面是UNIX系统中复制和粘贴的方法:1.鼠标左键选中要复制的东东2.到新窗口点击中键便可粘贴下面是在Windows NT系统中复制文本到剪贴板的方法:1.选中文本2.Ctrl+Insert2.1.4菜单按钮菜单按钮用下拉菜单组织图形界面的层次,下图就是下拉菜单的外观Figure 3:Help下拉菜单FLUENT下拉菜单使用方法和Windows的一样。

快捷方式也一样——Alt,然后下划线字母选中,ESC键退出。

有些下拉菜单有快捷键,在相应的菜单后面会提示快捷键是什么,自己去找就可以了。

2.1.5对话框对话框用于完成简单的输入输出任务,比如说警告、错误和询问。

对话框是临时窗口,出现时要注意,你对它作出选择之后关闭就可以做其它工作了。

下面是几种对话框信息提示框信息提示框告诉我们需要知道的信息,点击OK就关闭了警告对话框警告对话框用于警告某些潜在问题,并询问是否继续当前操作,错误对话框工作对话框工作对话框显示正在进行的任务,这是一个特殊的对话框,你唯一的操作就是干掉它,否则它不需要你进行任何操作,只告诉你——等待吧!!程序结束它也自动关闭了。

控制台使用说明书

控制台使用说明书

控制台使用说明书控制台使用说明书一、控制台简介控制台是一种命令行界面,用于管理和操作计算机系统。

在Windows 系统中,控制台可以通过打开“运行”窗口,输入“cmd”命令来打开。

在Linux系统中,可以通过终端窗口或者快捷键Ctrl+Alt+T来打开。

二、控制台基本操作1. 打开控制台:如上所述,在Windows系统中可以通过“运行”窗口或者搜索栏输入“cmd”来打开,Linux系统中可以通过终端窗口或者快捷键Ctrl+Alt+T来打开。

2. 命令的格式:命令由命令名称和参数组成,命令名称和参数之间用空格隔开。

3. 命令的帮助:在控制台中输入“help”或者“/?”,可以查看命令的帮助信息。

4. 清除屏幕:在控制台中输入“cls”命令可以清除屏幕上的所有内容。

三、常用命令1. 目录相关命令:(1)dir:列出当前目录下的所有文件和子目录。

(2)cd:进入指定目录,例如cd C:\Program Files。

(3)md/mkdir:创建新目录,例如mkdir newfolder。

(4)rd/rmdir:删除指定目录及其内容,例如rmdir oldfolder。

2. 文件相关命令:(1)type:查看文本文件的内容,例如type readme.txt。

(2)copy:复制文件,例如copy file1.txt file2.txt。

(3)del:删除指定文件,例如del file1.txt。

(4)ren/rename:重命名文件,例如rename file1.txt newfile.txt。

3. 系统相关命令:(1)tasklist:列出当前正在运行的所有进程。

(2)taskkill:结束指定进程,例如taskkill /im notepad.exe /f。

四、高级操作1. 重定向输出:在命令后添加“>”符号可以将输出结果保存到文件中,例如dir > filelist.txt。

如果要将多个命令的输出结果保存到同一个文件中,可以使用“>>”符号,例如dir >> filelist.txt。

第21章 MiniGUI图形界面设计

第21章 MiniGUI图形界面设计

21.1.3 MiniGUI运行模式
21.2 MiniGUI的安装和使用

Байду номын сангаас
现有的资料主要介绍了MiniGUI在RedHat9.0下的安装 和配置,而对其他Linux发行版下应用的资料还很少。 本章将介绍MiniGUI在Ubuntu下的安装和配置方法, 以及如何使用eclipse进行MiniGUI的嵌入式开发。
• •
(3)如果没有出现错误,就可以继续执行make和 make install命令编译并安装libminigui库文件: $make
(4)默认情况下,MiniGUi的函数库将安装在 /usr/local/lib目录中。您应该确保该目录已经列在 /etc/ld.so.conf文件中。修改/etc/ld.so.conf文件,如果 该文件不存在则新建一个。将 /usr/local/lib目录添加到 该文件最后一行。
• • • •
21.2.5 交叉编译MiniGUI库
• • • 与编译PC上的libminigui的过程是大致相同的,只需在 make menu出现的配置界面中略做配置即可。 “Development environment options ” 按回车键后进入子菜单,需要配置的项如图21-2所示:
1. system段

system段中指定了MiniGUI要使用的图形引擎、输入 引擎以及鼠标设备和协议类型,分别由gal_engine、 ial_engine、mdev和mtype键指定。因为MiniGUI库 中可以同时包含多个图形引擎和多个输入引擎,可以分 别通过gal_engine、ial_engine指定要使用哪个图形引 擎。
21.2.6 交叉编译例程

• • • • •

fluent操作界面

fluent操作界面

Fluent用户界面FLUENT包括下拉菜单,面板和对话框还包括文本命令行的界面。

本章详细介绍了上述几个部分的使用方法及相应功能。

图形用户界面(GUI) 它由控制台窗口,控制面板,对话框以及图形窗口组成。

下图就是典型的fluent界面。

包括颜色和字体)可以自定义以适上述四个部分将在下面详细介绍。

在UNIX系统中,GUI (包括颜色和字体合操作系统的环境。

Figure 1:屏幕显示的屏幕显示的GUI各部分控制台(Console)FLUENT控制台是控制程序执行的主窗口。

用户和控制台之间有两种交流方式:文本界面(TUI),图形界面(GUI)。

控制包括终端仿真程序和菜单按钮的图形界面。

Figure 1: 控制台控制台终端仿真程序终端仿真程序终端仿真程序和MS-DOS命令提示符类似,它使你能够和TUI菜单交流。

所有的文本都输出到终端仿真程序,所有的输入都从最底行开始。

快捷键Control-C可以暂停正在计算的程序。

它也支持控制台和其它X Window或Windows NT应用程序之间文本的复制和粘贴。

系统中复制和粘贴的方法:下面是UNIX系统中复制和粘贴的方法:1.鼠标左键选中要复制的东东.鼠标左键选中要复制的东东2.到新窗口点击中键便可粘贴.到新窗口点击中键便可粘贴系统中复制文本到剪贴板的方法:下面是在Windows NT系统中复制文本到剪贴板的方法:1.选中文本.选中文本2.Ctrl+Insert 菜单按钮菜单按钮菜单按钮用下拉菜单组织图形界面的层次,下图就是下拉菜单的外观菜单按钮用下拉菜单组织图形界面的层次,下图就是下拉菜单的外观Figure 1:Help下拉菜单下拉菜单FLUENT下拉菜单使用方法和Windows的一样。

快捷方式也一样——Alt,然后下划线字母选中,ESC 键退出。

有些下拉菜单有快捷键,在相应的菜单后面会提示快捷键是什么,自己去找就可以了。

自己去找就可以了。

对话框对话框对话框用于完成简单的输入输出任务,比如说警告、错误和询问。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:文本界面的控制台应用程序开发是深入学习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不能省略)。

在文档窗口中输入下列代码:#includevoid 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资源(如菜单、图标、窗口等)和设备等对象。

虽然可以把句柄理解为是一个指针变量类型,但它不是对象所在的地址指针,而是作为Windows系统内部表的索引值来使用的。

调用相关文本界面控制的API函数。

这些函数可分为三类。

一是用于控制台窗口操作的函数(包括窗口的缓冲区大小、窗口前景字符和背景颜色、窗口标题、大小和位置等);二是用于控制台输入输出的函数(包括字符属性操作函数);其他的函数并为最后一类。

调用CloseHandle()来关闭输入输出句柄。

注意,在程序中还必须包含头文件windows.h。

下面看一个程序:#includevoid main(){HANDLE hOut;hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口信息GetConsoleScreenBufferInfo(hOut, &bInfo );// 获取窗口信息printf("\n\nThe soul selects her own society,\n");printf("Then shuts the door;\n");printf("On her devine majority\n");printf("Obtrude no more.\n\n");_getch();COORD pos = {0, 0};FillConsoleOutputCharacter(hOut, ' ', bInfo.dwSize.X *bInfo.dwSize.Y, pos, NULL);// 向窗口中填充字符以获得清屏的效果CloseHandle(hOut); // 关闭标准输出设备句柄}程序中,COORD和CONSOLE_SCREEN_BUFFER_ INFO是wincon.h定义的控制台结构体类型,其原型如下:// 坐标结构体typedef struct _COORD {SHORT X;SHORT Y;} COORD;// 控制台窗口信息结构体typedef struct _CONSOLE_SCREEN_BUFFER_INFO {COORD dwSize; // 缓冲区大小COORD dwCursorPosition; // 当前光标位置WORD wAttributes; // 字符属性SMALL_RECT srWindow; // 当前窗口显示的大小和位置COORD dwMaximumWindowSize; // 最大的窗口缓冲区大小} CONSOLE_SCREEN_BUFFER_INFO ;还需要说明的是,虽然在C++中,iostream.h定义了cin和cout的标准输入和输出流对象。

但它们只能实现基本的输入输出操作,对于控制台窗口界面的控制却无能为力,而且不能与stdio.h和conio.h友好相处,因为iostream.h和它们是C++两套不同的输入输出操作方式,使用时要特别注意。

三、控制台窗口操作用于控制台窗口操作的API函数如下:此外,还有窗口字体、显示模式等控制函数,这里不再细说。

下列举一个示例,程序如下:#include#include#includevoid main(){HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄CONSOLE_SCREEN_BUFFER_INFO bInfo; // 窗口缓冲区信息GetConsoleScreenBufferInfo(hOut, bInfo );// 获取窗口缓冲区信息char strTitle[255];GetConsoleTitle(strTitle, 255); // 获取窗口标题printf("当前窗口标题是:%s\n", strTitle);_getch();SetConsoleTitle("控制台窗口操作"); // 获取窗口标题_getch();COORD size = {80, 25};SetConsoleScreenBufferSize(hOut,size); // 重新设置缓冲区大小_getch();SMALL_RECT rc = {0,0, 80-1, 25-1}; // 重置窗口位置和大小SetConsoleWindowInfo(hOut,true ,&rc);CloseHandle(hOut); // 关闭标准输出设备句柄}需要说明的是,控制台窗口的原点坐标是(0, 0),而最大的坐标是缓冲区大小减1,例如当缓冲区大小为80*25时,其最大的坐标是(79, 24)。

四、文本属性操作与DOS字符相似,控制台窗口中的字符也有相应的属性。

这些属性分为:文本的前景色、背景色和双字节字符集(DBCS)属性三种。

事实上,我们最关心是文本颜色,这样可以构造出美观的界面。

颜色属性都是一些预定义标识:与文本属性相关的主要函数有:BOOL FillConsoleOutputAttribute( // 填充字符属性HANDLE hConsoleOutput, // 句柄WORD wAttribute, // 文本属性DWORD nLength, // 个数COORD dwWriteCoord, // 开始位置LPDWORD lpNumberOfAttrsWritten // 返回填充的个数);BOOL SetConsoleTextAttribute( // 设置WriteConsole等函数的字符属性HANDLE hConsoleOutput, // 句柄WORD wAttributes // 文本属性);BOOL WriteConsoleOutputAttribute( // 在指定位置处写属性HANDLE hConsoleOutput, // 句柄CONST WORD *lpAttribute, // 属性DWORD nLength, // 个数COORD dwWriteCoord, // 起始位置LPDWORD lpNumberOfAttrsWritten // 已写个数);另外,获取当前控制台窗口的文本属性是通过调用函数GetConsoleScreenBufferInfo后,在CONSOLE_SCREEN_ BUFFER_INFO结构成员wAttributes中得到。

五、文本输出文本输出函数有:BOOL FillConsoleOutputCharacter( // 填充指定数据的字符HANDLE hConsoleOutput, // 句柄TCHAR cCharacter, // 字符DWORD nLength, // 字符个数COORD dwWriteCoord, // 起始位置LPDWORD lpNumberOfCharsWritten // 已写个数);BOOL WriteConsole( // 在当前光标位置处插入指定数量的字符HANDLE hConsoleOutput, // 句柄CONST VOID *lpBuffer, // 字符串DWORD nNumberOfCharsToWrite, // 字符个数LPDWORD lpNumberOfCharsWritten, // 已写个数LPVOID lpReserved // 保留);BOOL WriteConsoleOutput( // 向指定区域写带属性的字符HANDLE hConsoleOutput, // 句柄CONST CHAR_INFO *lpBuffer, // 字符数据区COORD dwBufferSize, // 数据区大小COORD dwBufferCoord, // 起始坐标PSMALL_RECT lpWriteRegion // 要写的区域);BOOL WriteConsoleOutputCharacter( // 在指定位置处插入指定数量的字符HANDLE hConsoleOutput, // 句柄LPCTSTR lpCharacter, // 字符串DWORD nLength, // 字符个数COORD dwWriteCoord, // 起始位置LPDWORD lpNumberOfCharsWritten // 已写个数);可以看出:WriteConsoleOutput函数功能相当于SetConsoleTextAttribute 和WriteConsole的功能。

相关文档
最新文档