一键恢复快捷键是什么
发布网友
发布时间:2022-04-19 10:10
我来回答
共5个回答
热心网友
时间:2023-08-28 19:29
QBWIN
系统的基本运作原理:
大家都知道QBWIN开发库的用途了,就是QB
+
WIN。用QB语言+窗体界面来开发软件程序。
从中,QBWIN开发系统的运作是如何实现的呢?在这里让我来剖析一下它的运作过程。
首先,初始化系统,也就要包括用到的控件的数组变量,由于考虑到内存空间与实际使用
控件的多少,所以在开始就应该定义你开发的程序将最大限量使用到控件的数量。因为一般
一个窗体及控件在一个界面跳到另一窗体界面时,只有少部分的数据需要保留待处理。所以
当在一个窗体跳到另一窗体时,所有控件的变量值都归初始化状态,以便给另一窗体赋值使用
而需要保留的一些数据用户要用一个全局变量保存下来,这样控件的变量就可循环再用而无需
增加内存空间的占用。这个也是QBWIN能处理多个窗体界面都没有出现内存不足的原因。
第2步,初始化控件等常用变量后,程序继续执行SUB
SystemInit
(CFont
AS
INTEGER)子
程序,这个子程序包括初始化屏幕与调色板的显示方式、检查中文字库文件、检查输入法码表
文件、取得临时文件位置(即在程序运行时有时需要用到临时文件保存一些如图像等数据),
一般由C盘开始,如果C不能作为临时存储的介质,那么就尝试D、E、F....。读取并初始化鼠标
图形数据及状态、读取英文字体数据(由于考虑到一般程序英文字体的显示比中文频繁,所以
系统*英文字库,加快字体的显示速度。如果程序无需用到中文字,那么库就不会去检索中文字
库文件,子程序里有一个CFont参数可让用户决定程序是否用到中文字库,具体如下:
CFont
=
0
时:
不使用中文字库与输入法文件
CFont
=
1
时:
必须要中文字库文件,否则程序不能运行
CFont
=-1
时:
程序作为英文版,如果系统找到有中文字库与输入法文件可使用,否则也可以不使用
第3步,系统都初始化完后,跟着下来就是控件变量数据的定义,这点就类似于我们在VB或
其它可视化环境里的控件属性栏的定义过程。首先系统会先让用户定义桌面:
DrawDesktop
提示行开关,桌面颜色,提示行字体颜色,背景色,提示文字$
提示行开关:0
到
2
桌面颜色:0
-
15,如果是小于0的负数即跳过,不定义桌面颜色。
这里还有一个IF
ExitWin<2
then
DrawDesktop
.....
当用户要关闭当前窗体或调到另一窗体时,必需将ExitWin赋<>0的值,当你关闭窗体给
ExitWin赋值时就有一个注意的地方,因为ExitWin的值会影响屏幕的效果。
当
ExitWin
=
0:
没有关闭窗体,循环执行控件及事件子程序的处理
当
ExitWin
=
1:
关闭窗体退出循环处理,当关闭时会触发C.FormUnload
处理子程序。
参数QBCancel是决定是否确定关闭的关键。如果关闭当前窗体是主窗体,而且Wins没有定义为
调用的另一窗体序号,那么就退出程序。否则调到另一窗体,而且执行桌面重画。
当
ExitWin
=
2:
同ExitWin
=
1,但不再执行重画桌面,看要求会有不同的效果。
跟着就是定义窗体控件数据:
当Wins的序号不同时:
RESTORE
WIN00
WIN00:
也要作相对的更改.
LoadWindow
X,Y,W,H,Font,BC,Box,TC,Caption
读入一个窗体:包括初始化所有控件变量,即归0。执行库内部子程序DrawWindow画出一个基本窗体。
继续读入各控件的属性值:
'LoadMenu
'读入菜单
'LoadFrame
0
'读入框架
是否读入到变量
'LoadLabel
0,
0
'读入标签
是否读入到变量,
背景框
'LoadText
'读入文本框
'LoadOption
'读入单选按钮
'LoadCheck
'读入复选按钮
'LoadButton
0
'读入命令按钮
背景框
'LoadList
'读入列表框
'LoadCombo
'读入下拉式列表框
到这里,一个用户窗体界面基本成形了,最重要的就是ProcessLoop
'过程循环处理,这个子程序是
整个系统的中心。它就是实现整体窗体所有控件的事件触发处理的判断及自动化刷新的主过程。
这个子程序是一段源代码程序,方便用户需要时扩充或修改功能。
过程是这样的:
DO
GetMouse
Mouse
'取当前鼠标状态数据
GetKey
KeyCode
'取当前键盘状态数据(包括输入法处理)
C.Timer
RecWins,
KeyCode
'每处理循环一次都执行该事件子程序
按钮控件处理
如果属性
Enabled
<>
REnabled
时控件自动刷新处理
当某按钮被单击就会触发事件子程序
SUB
C.ButtonClick
(NWin,
Inx)
当鼠标在按钮范围内、离开按钮范围、被按下、弹回时触发事件
SUB
C.ButtonState
(NWin,
Inx,
State)
菜单处理
当菜单项目被选中时触发
SUB
C.MenuClick
(NWin,
MInx,
Inx)
复选按钮处理
当属性
Value
<>
RValue
or
Enabled
<>
REnalbed
时自动刷新处理
当复选按钮被单击或复选值Value被刷新时触发事件
SUB
C.CheckClick
(NWin,
Inx)
下拉列表处理
当属性
Enabled
<>
REnalbed
时自动刷新处理
当下列表被选定后触发事件
SUB
C.ComboClick
(NWin,
Inx)
框架范围处理
当框架被鼠标单击时触发事件
SUB
C.FrameClick
(NWin,
Inx,
Button)
双击时
SUB
C.FrameDblClick
(NWin,
Inx)
鼠标进入框架定义的范围或走出范围时触发事件
SUB
C.FrameMouseInOut
(NWin,
Inx,
State)
当鼠标的坐标改变或鼠标按键状态改变时触发事件
SUB
C.FrameMouseState
(NWin,
Inx,
X,
Y,
Button)
列表处理
当属性
Count
<>
RCount
or
Index
<>
RIndex
or
ScInx
<>
RScInx
时自动刷新处理
列表里的项目被单击或选中时触发
SUB
C.ListClick
(NWin,
Inx)
项目被双击时触发
SUB
C.ListDblClick
(NWin,
Inx)
当列表里的项目索引Index、滚动范围ScInx、项目数量Count、滚动条等刷新时触发
SUB
C.ListChange
(NWin,
Inx,
CType)
当在列表里有键盘信号时触发
SUB
C.ListKeyPress
(NWin,
Inx,
KeyCode)
单选按钮处理
当属性
OptBValue(GInx)
<>
OpBRValue(GInx)
即选定项目刷新
or
Enabled
<>
REnabled
时刷新显示处理
当单击或OptBValue(GInx)项目值被改变时触发
SUB
C.OptionClick
(NWin,
GInx,
Inx)
文本框输入处理
当Enabled
<>
REnabled
或输入处理时自动刷新显示处理
当目标在文本框且有键盘信号时触发
SUB
C.TextKeyPress
(NWin,
Inx,
KeyCode)
判断ExitWin,即关闭窗体判断处理
LOOP
整个循环处理过程大概是这样的。
热心网友
时间:2023-08-28 19:30
QBWIN 系统的基本运作原理:
大家都知道QBWIN开发库的用途了,就是QB + WIN。用QB语言+窗体界面来开发软件程序。
从中,QBWIN开发系统的运作是如何实现的呢?在这里让我来剖析一下它的运作过程。
首先,初始化系统,也就要包括用到的控件的数组变量,由于考虑到内存空间与实际使用
控件的多少,所以在开始就应该定义你开发的程序将最大限量使用到控件的数量。因为一般
一个窗体及控件在一个界面跳到另一窗体界面时,只有少部分的数据需要保留待处理。所以
当在一个窗体跳到另一窗体时,所有控件的变量值都归初始化状态,以便给另一窗体赋值使用
而需要保留的一些数据用户要用一个全局变量保存下来,这样控件的变量就可循环再用而无需
增加内存空间的占用。这个也是QBWIN能处理多个窗体界面都没有出现内存不足的原因。
第2步,初始化控件等常用变量后,程序继续执行SUB SystemInit (CFont AS INTEGER)子
程序,这个子程序包括初始化屏幕与调色板的显示方式、检查中文字库文件、检查输入法码表
文件、取得临时文件位置(即在程序运行时有时需要用到临时文件保存一些如图像等数据),
一般由C盘开始,如果C不能作为临时存储的介质,那么就尝试D、E、F....。读取并初始化鼠标
图形数据及状态、读取英文字体数据(由于考虑到一般程序英文字体的显示比中文频繁,所以
系统*英文字库,加快字体的显示速度。如果程序无需用到中文字,那么库就不会去检索中文字
库文件,子程序里有一个CFont参数可让用户决定程序是否用到中文字库,具体如下:
CFont = 0 时: 不使用中文字库与输入法文件
CFont = 1 时: 必须要中文字库文件,否则程序不能运行
CFont =-1 时: 程序作为英文版,如果系统找到有中文字库与输入法文件可使用,否则也可以不使用
第3步,系统都初始化完后,跟着下来就是控件变量数据的定义,这点就类似于我们在VB或
其它可视化环境里的控件属性栏的定义过程。首先系统会先让用户定义桌面:
DrawDesktop 提示行开关,桌面颜色,提示行字体颜色,背景色,提示文字$
提示行开关:0 到 2
桌面颜色:0 - 15,如果是小于0的负数即跳过,不定义桌面颜色。
这里还有一个IF ExitWin<2 then DrawDesktop .....
当用户要关闭当前窗体或调到另一窗体时,必需将ExitWin赋<>0的值,当你关闭窗体给
ExitWin赋值时就有一个注意的地方,因为ExitWin的值会影响屏幕的效果。
当 ExitWin = 0: 没有关闭窗体,循环执行控件及事件子程序的处理
当 ExitWin = 1: 关闭窗体退出循环处理,当关闭时会触发C.FormUnload 处理子程序。
参数QBCancel是决定是否确定关闭的关键。如果关闭当前窗体是主窗体,而且Wins没有定义为
调用的另一窗体序号,那么就退出程序。否则调到另一窗体,而且执行桌面重画。
当 ExitWin = 2: 同ExitWin = 1,但不再执行重画桌面,看要求会有不同的效果。
跟着就是定义窗体控件数据:
当Wins的序号不同时:
RESTORE WIN00
WIN00:
也要作相对的更改.
LoadWindow X,Y,W,H,Font,BC,Box,TC,Caption
读入一个窗体:包括初始化所有控件变量,即归0。执行库内部子程序DrawWindow画出一个基本窗体。
继续读入各控件的属性值:
'LoadMenu '读入菜单
'LoadFrame 0 '读入框架 是否读入到变量
'LoadLabel 0, 0 '读入标签 是否读入到变量, 背景框
'LoadText '读入文本框
'LoadOption '读入单选按钮
'LoadCheck '读入复选按钮
'LoadButton 0 '读入命令按钮 背景框
'LoadList '读入列表框
'LoadCombo '读入下拉式列表框
到这里,一个用户窗体界面基本成形了,最重要的就是ProcessLoop '过程循环处理,这个子程序是
整个系统的中心。它就是实现整体窗体所有控件的事件触发处理的判断及自动化刷新的主过程。
这个子程序是一段源代码程序,方便用户需要时扩充或修改功能。
过程是这样的:
DO
GetMouse Mouse '取当前鼠标状态数据
GetKey KeyCode '取当前键盘状态数据(包括输入法处理)
C.Timer RecWins, KeyCode '每处理循环一次都执行该事件子程序
按钮控件处理
如果属性 Enabled <> REnabled 时控件自动刷新处理
当某按钮被单击就会触发事件子程序 SUB C.ButtonClick (NWin, Inx)
当鼠标在按钮范围内、离开按钮范围、被按下、弹回时触发事件 SUB C.ButtonState (NWin, Inx, State)
菜单处理
当菜单项目被选中时触发 SUB C.MenuClick (NWin, MInx, Inx)
复选按钮处理
当属性 Value <> RValue or Enabled <> REnalbed 时自动刷新处理
当复选按钮被单击或复选值Value被刷新时触发事件 SUB C.CheckClick (NWin, Inx)
下拉列表处理
当属性 Enabled <> REnalbed 时自动刷新处理
当下列表被选定后触发事件 SUB C.ComboClick (NWin, Inx)
框架范围处理
当框架被鼠标单击时触发事件 SUB C.FrameClick (NWin, Inx, Button)
双击时 SUB C.FrameDblClick (NWin, Inx)
鼠标进入框架定义的范围或走出范围时触发事件 SUB C.FrameMouseInOut (NWin, Inx, State)
当鼠标的坐标改变或鼠标按键状态改变时触发事件 SUB C.FrameMouseState (NWin, Inx, X, Y, Button)
列表处理
当属性 Count <> RCount or Index <> RIndex or ScInx <> RScInx 时自动刷新处理
列表里的项目被单击或选中时触发 SUB C.ListClick (NWin, Inx)
项目被双击时触发 SUB C.ListDblClick (NWin, Inx)
当列表里的项目索引Index、滚动范围ScInx、项目数量Count、滚动条等刷新时触发
SUB C.ListChange (NWin, Inx, CType)
当在列表里有键盘信号时触发 SUB C.ListKeyPress (NWin, Inx, KeyCode)
单选按钮处理
当属性 OptBValue(GInx) <> OpBRValue(GInx) 即选定项目刷新 or Enabled <> REnabled 时刷新显示处理
当单击或OptBValue(GInx)项目值被改变时触发 SUB C.OptionClick (NWin, GInx, Inx)
文本框输入处理
当Enabled <> REnabled 或输入处理时自动刷新显示处理
当目标在文本框且有键盘信号时触发 SUB C.TextKeyPress (NWin, Inx, KeyCode)
判断ExitWin,即关闭窗体判断处理
LOOP
整个循环处理过程大概是这样的。
热心网友
时间:2023-08-28 19:30
嘎嘎.我卖联想.联想有专门的键盘.有个大圆圈.开机点上面就行了.快捷键是Shift+B键.
热心网友
时间:2023-08-28 19:31
如果电脑有一键恢复的标配软件,那在主机前面板应该有一个“一键恢复”按钮,类似于复位键,
如果没有标配按F11试试吧.
热心网友
时间:2023-08-28 19:31
如果是还原精灵的话试一下F11这个键是绝对没有问题的!