自己整理的Fortran可视化库函数

自己整理的Fortran可视化库函数
自己整理的Fortran可视化库函数

USE IFQWIN 函数

参数类型字节作用

SETEXITQQ

exitmode 子函数

integer(4)设置 QuickWinApplicat exitmode QWIN$EXITPROMPT integer(4)为程序的默认情况

exitmode QWIN$EXITNOPERSIST integer(4)编译运行后窗口出现后马exitmode QWIN$EXITPERSIST integer(4)运行后窗口正常显示,没SETWSIZEQQ

unit,winfo 子函数integer(4)设置窗口的尺寸和位置unit 0,5,6integer(4)默认子窗口代号,该函数unit QWIN$FRAMEWINDOW integer(4)主窗口号winfo type(qwinfo)

type qwinfo

结构体

integer(2)TYPE

winfo%type

integer(2)x integer(2)y integer(2)H integer(2)W

END type qwinfo

SETBKCOLORRGB

color 子函数integer(4)更改窗口背景色,该函数并color #FF0000十六进制数每两位分别为蓝绿红color RGBTOINTEGER(0,0,0)子函数0~255,分别为蓝绿红RGBTOINTEGER blue,green,子函数integer(4)将RGB 分量值转换为代表blue,green,0~255integer()将RGB 分量值CLEARSCREEN

area 子程序integer(4)刷屏

area $GCLEARSCREEN

integer(4)用指定的颜色清除屏幕$GVIEWPORT integer(4)用指定的颜色清除当前视$GWINDOW

integer(4)用指定色清除当前用SET SETTEXTCOLORRGB color

子函数integer(4)文本的颜色,该函数只影

GETWINDOWCONFIG

wc 子函数

logical( kin

获取子窗口的相关

特征wc

type (windowconfig)type (windowconfig)

结构体,记录窗口特性

integer(2)numxpixels integer(2)numypixels integer(2)numtextcols integer(2)numtextrows integer(2)numcolors integer(4)fontsize CHARACTER(80title

integer(2)bitsperpixel integer(2)mode CHARACTER(32extendfontname

INTEGER(4) e xtendfontsize

INTEGER(4)extendfontattributes

END TYPE windowconfig

SETWINDOWCONFIG wc子函数logical(kind为了灵活使用子窗口,在

SETTEXTPOSITION row,column,t

子程序指定相对于文本窗口的文本输出位置

row integer(2)文本的行定位数

column integer(2)列定位数

t type(rccoord)保存之前的光标位置

type(rccoord)结构体

integer(2)row

integer(2)col

END TYPE rccoord

图形窗口模式

OUTGTEXT text子程序图形模式窗口中,为充分利用坐标定位带来text character(len=*)t''Arial''h18w10' INITIALIZEFONTS子函数integer(2)初始化操作系统中的字体

SETFONT option子函数integer(2)指定字体及其大小

option character(len=*)表述字体特征t''Arial''h18w10'

MOVETO x,y,t子程序为了确定文本输出位置,需调用子程序 x

y

t type(rccoord)保存了视口中前一位置的坐标

SETGTEXTROTATION degree-tent子程序文本输出需要倾斜角度degree-tenths integer(4)取值为旋转角度乘10 之多子窗口

OPEN UNIT,FILE,TITLE,IOFOCUS

函数创建子窗口

UNIT11,12等等integer(4)子窗口代号

FILE character(len=*)

USER'时打开的是子窗口TITLE character(le子窗口标题

IOFOCUS logical是否有焦点DISPLAYCURSOR a子函数integer(4)子窗口中显示闪烁的光标a$GCURSORON integer(4)

ClickMenuQQ a子函数integer(4)用来执行Quickwin预先封

a QWIN$TILE integer(4)

键盘事件

GETCHARQQ子函数character*(1)

捕获键盘事件,返回值为PASSDIRKEYSQQ logical子函数logical(4)准确监测这些特殊按键,鼠标事件

WaitOnMouseEvent mouseevents子函数integer(4)等待所关心的鼠标事件的mouseevents integer(4)传入值,用户所要监测的鼠

MOUSE$LBUTTONDOWN integer(4)按下鼠标左键

MOUSE$LBUTTONUP integer(4)释放鼠标左键首先,为监测鼠标事件, 应用程序必须包括无限循环 do while(.true.) resul

MOUSE$LBUTTONDBLCLK integer(4)双击鼠标左键MOUSE$RBUTTONDOWN integer(4)按下鼠标右键MOUSE$RBUTTONUP integer(4)释放鼠标右键MOUSE$RBUTTONDBLCLK integer(4)双击鼠标右键MOUSE$MOVE

integer(4)移动鼠标

keystate integer(4)返回值,鼠标事件发生时其

MOUSE$KS_LBUTTON integer(4)事件中按下鼠标左键MOUSE$KS_RBUTTON integer(4)事件中按下鼠标右键MOUSE$KS_SHIFT integer(4)事件中按下 SHIFT 键MOUSE$KS_CONTROL integer(4)事件中按下 CTRL 键

x integer(4)返回值,鼠标的位置y integer(4)返回值,鼠标的位置

REGISTERMOUSEEVENT unit,mousee 子函数integer(4)应用程序中,不同的鼠标

unit integer(4)鼠标事件发生的窗口代码mouseevents integer(4)需要注册的鼠标事件callbackrou external :: ShowLocatio 子函数回调子程序,必须声明为external 代号为 unit 的窗口中, 当鼠标事件 mous

MouseCallBackRouti unit, mouse 子程序鼠标事件的外部处理回调程序

unit

integer(4)事件发生的窗口代号mouseevents integer(4)鼠标事件keystate integer(4)功能键的状态MouseXpos integer(4)鼠标位置坐标MouseYpos integer(4)鼠标位置坐标

菜单编程

APPENDMENUQQ

menuID, fla 子函数logical(4)添加菜单项到某菜单的最menuID integer(4)菜单编号, 从左向右数第1

flags integer(4)表明菜单的状态,如菜单text

character (len=*)

routine

外调子程序external

INSERTMENUQQ

menuID,item 子函数logical(4)将菜单项插入某菜单

menuID integer(4)菜单编号, 从左向右数itemID

integer(4)菜单项的插入位置,顺序0integer(4)将插入的菜单项作为第me 其他整数

integer(4)将菜单项插入第menuID个flag integer(4)text

character (len=*)routine 外调子函数external

DELETEMENUQQ

menuID, ite 子函数

logical(4)menuID, itemID

为回调子程序,必须申

明该菜单项是否被选中,同时, Rou WINPRINT 为打印命令子程序, WINSAV

系统自动忽略回调子程

为菜单项的名称,是 n

单项设置快捷键,则需要在对应的字母

键“CTRL+R”激活回

menuID integer(4)为菜单编号

itemID integer(4)为要删除的菜单项的编号MODIFYMENUFLAGSQQ

menuID,itemID,flag logical(4)用来修改菜单项的状态

menuID integer(4)

itemID integer(4)

flag integer(4) MODIFYMENUROUTINEQQ menuID,itemID,routine logical(4)用来改变菜单项的回调函menuID integer(4)

itemID integer(4)

routine external MODIFYMENUSTRINGQQ m enuID,itemID,text logical(4)用来改变菜单项名

menuID integer(4)

itemID integer(4)

text character (len=*)

INITIALSETTINGS子函数logical(4)用来设定 Quickwin 工程

位置

最尾

后窗口出现后马上消失

示,没有任何提示信息

位置

口代号,该函数作用窗口

QWIN$MIN最小化窗口

QWIN$MAX最大化窗口

QWIN$RESTOR

恢复最小化窗口到之前的大小

QWIN$SET根据Winfo 中的其它值设定窗口的位置和大小

背景色,该函数并不能自动改变窗口的背景色,只有当调用子程序 CLEARSCREEN 或者有文本 读写发生时,背景才会改变

别为蓝绿红

为代表相应颜色的整数

屏幕

颜色清除当前视口

用SETTEXTWINDOW指定的文本窗口

数只影响由文本输出函数EXT, WRITE 和 PRINT 产生的输出

将结果存入wc

录窗口特性

X方向像素值

Y方向像素值

文本行数

文本列数

颜色索引数

Q WIN$EXTENDFONT,此时由extendfontsize 指字体大小,如果指定了扩展字体, fontsize 应该赋值为

子窗口标题

单个像素的位数

控制滚动条的滚动模式

字体名称,用来定制扩展字体

字体大小,用来定制扩展字体

字体属性,如粗体、斜体等,用来定制扩展字体

使用子窗口,在文本和图形输出前需要调整窗口的属性值

窗口中,为充分利用坐标定位带来的方便,文本的输出

作系统中的字体

笔移至当前位置

文本输出位置,需调用子程序 MOVETO 将画

需要倾斜角度

转角度乘10 之后的数值,水平向右方向为角度0 角度起始方向,逆时针旋转为角度正方向

默认0,5,6

开的是子窗口

可缺省

显示闪烁的光标

uickwin预先封装的系统菜单

只能监测字母和数字按键,对功能键和方向键就无能为力了

按键,参数为真时,CHARQQ 函数会自动监测特殊按键; 当函数参数为假时, GETCHARQQ 函数不能

results = WaitOnMouseEvent( MOUSE$MOVE, state, x, y) end do

事件的发生

户所要监测的鼠标事件,如果需要检测多个鼠标事件,用函数 IOR 加以组合

生时其他功能键(如Shift)的状态, 是鼠标事件中其他功能键的状态。适合于判断鼠标左键按下且移动等组

中,不同的鼠标事件需要激活不同的任务,所以必须将鼠标事件和用户的目标任务结合起来, 也就是鼠标事件的注册

发生的窗口代码

序,必须声明为external

it 的窗口中, 当鼠标事件 mouseevents 发生时,程序就会执行子程序 callbackroutine 设定的任务, 从而完成了鼠标事的外部处理回调程序

项到某菜单的最后且注册菜单项的回调函数

右数第一个菜单编号为1,其它以此类推

如菜单项灰显等

, 从左向右数第一个菜单编号为1,其它以此类推插入位置,顺序为从上到下

菜单项作为第menuID个菜单出现,其它菜单顺次向右移位插入第menuID个菜单的指定位置

必须申明为EXTERNAL 类, 其中每个回调子程序都有一个逻辑参数,用来说单项是否被选中,同时, Routine 也可以是系统预先定义的子程序的名称,如

为打印命令子程序, WINSAVE 为保存命令子程序等。当该菜单有其他菜单项时,系统自动忽略回调子程序,此时可将 routine 的值设为Nul

,是 null-terminatedC 字符串,如'WORDS OFTEXT'C,如果要为菜单或菜快捷键,则需要在对应的字母前加上符号“&”,如“P&rint”,用户就能用组合键“CTRL+R”激活回调子程序,从而方便程序的操作

的编号,如果itemID 为0,则将删除第menuID 个菜单

菜单项的状态

菜单项的回调函数

Quickwin 工程中主窗口的外观和菜单项注意: Quickwin 工程中主窗口的外观和菜单项是由系统预设的 INITIALSETTI

函数来实现的。如果程序开发者自己需要设定主窗口的外观和菜单项,则只要重

写该函数即可。 INITIALSETTINGS 函数通常是被系统自动调用,而不需要显式

这点尤为重要

才会改变

由extendfontsize 指定扩展字体的大小

检测到方向键,此时,方向键的作用是移动滚动条的位置数不能

动等组合事件

鼠标事件的注册

务, 从而完成了鼠标事件的注册

INITIALSETTINGS

外观和菜单项,则只要重新编自动调用,而不需要显式调用,

相关文档
最新文档