⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 试刊3.txt

📁 关于编程技术技巧的文章
💻 TXT
📖 第 1 页 / 共 2 页
字号:

                     <<编程技术>>

         一份属于广大编程爱好者的mailing list

                 试刊第三期 99/03/07


<本期栏目>
 *刊首语*
 *雕虫小技*
    VB小技巧--让程序启动快一点
 *技术文档*
    在VB中实现闪动标题栏
    在VFP中实现字符的淡出淡入
    Turbo C修改Auto CAD的图素
 *轻松一刻*
    Windows源程序
 *有问必答*

*****************************************************

<刊首语>
    大家好,《编程技术》又如约和大家见面了。在本期刊物
发出之后,我就要回到学校继续我的学业了。因为我是一个住
读生,每星期才能回家一次,如果有什么特殊情况的话,我不
得不隔两个星期甚至更长的时间才能回一次家。我会尽量保证
这份刊物能及时送到大家的手中,但恐怕不能及时回复大家给
我的来信了。还望大家能够多多谅解。
    另外,我计划在本刊试刊五期后正式“转正”,如果大家
有什么意见和建议的话,请快向我提出哦,以便我能及时改进。
本人多多感谢了。

*****************************************************
*****************************************************

<雕虫小技>
                 VB小技巧--让程序启动快一点  
    
    是否觉得你的应用程序启动得太慢了?你可以用下面小技巧让你的
程序启动起来感觉快一点:在你的启动窗口的 Form_Load 事件的第一
行加入下面一行代码:Me.Show 园主点评:VB 在窗口显示前一般先执
行 Form_Load 事件中的程序,如果你在 Form_Load 中加入大量代码,
就可以导致 VB 执行代码很久而不显示窗口,我们在 Form_Load 事件
的第一行强制加入 Me.Show 让窗口先显现出来。这样给人感觉程序运
行好象就快了点。 

*****************************************************
*****************************************************

<技术文档>
               在VB中实现闪动标题栏
		                  
                               微软公司供稿

摘要
    在你的应用程序中,你可能会希望将应用程序的标题栏进行闪动,以
提醒用户进行某种操作,本文介绍了如何使一个窗口的标题栏进行闪动。

闪动标题栏
闪动一个窗口的标题栏意味着改变它的标题栏的外观,例如它从活动变为
不活动,或是从不活动变为活动等等。只要你能在Visual Basic中得到窗
口的句柄,你就可以使用Windows 应用程序编程接口(API)函数来使该窗
口的标题栏进行闪动。函数FlashWindows可以被用使一个特定的窗口闪动
一次。要使用该函数,需要将如下的声明语句包含在你的窗体的通用声明
部分中:

#If Win32 Then
    Declare Function FlashWindow Lib "user32" ( _
        ByVal hwnd As Long, _
        ByVal bInvert As Long) As Long
#Else
    Declare Function FlashWindow Lib "User" ( _
        ByVal hwnd As Integer, _
        ByVal bInvert As Integer) As Integer
#End If

    该函数需要2个参数,第一个参数是要闪动标题栏的窗口的句柄,第二个
参数用于指定是设置窗口的闪动状态,还是恢复其原始状态。如果该bInvert
参数非0,则表明窗口的标题栏被闪动,如果该参数为0,则表明窗口的标题栏
被恢复为原始状态。
    该函数所返回的值用于指定调用该函数前窗口的状态,如果该返回值非0,
则表明窗口在调用该函数之前是活动的,否则,如果返回值为0,则表明调用
函数前窗口是非活动的。
    当使用该FlashWindow函数时,一个较好的方法是将标题栏闪动的频率设
置为同脱字符(也即闪动的光标)相同,脱字符的闪动频率可以通过调用函数
GetCaretBlinkTime来获得。要使用该函数,需要将如下的声明语句包含在你
的窗体的通用声明部分中:

#If Win32 Then
    Declare Function GetCaretBlinkTime Lib "user32" () As Long
#Else
    Declare Function GetCaretBlinkTime Lib "User" () As Integer
#End If

该函数返回用毫秒值表示的时间。

样例程序

1. 在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。
2. 在Form1上添加一个定时器控件,采用缺省的方法建立Timer1。
3. 将如下的代码添加到Form1的Form_GotFocus事件中:

Private Sub Form_GotFocus()
      Timer1.Enabled = False
End Sub
4. 将如下的代码添加到Form1的Form_Load事件中:

Private Sub Form_Load()
      Timer1.Interval = GetCaretBlinkTime()
      Form2.Show
End Sub

5. 将如下的代码添加到Timer1的Timer1_Timer事件中:

Private Sub Timer1_Timer()
      Success = FlashWindow(Form1.hwnd, 1)
End Sub

6. 添加第二个窗体,采用缺省的方法建立Form2。

7. 将如下的代码添加到Form2的单击事件中:

Private Sub Form_Click()
      Form1.Timer1.Enabled = True
End Sub

8. 添加一个新的模块,采用缺省的方法建立Module1.Bas。将如下的代码
添加到该模块的通用声明部分中:

#If Win32 Then
      Declare Function FlashWindow Lib "user32" ( _
                       ByVal hwnd As Long, _
                       ByVal bInvert As Long) As Long

      Declare Function GetCaretBlinkTime Lib "user32" () As Long

      Dim Success As Long

#Else

      Declare Function FlashWindow Lib "User" ( _
                       ByVal hwnd As Integer, _
                       ByVal bInvert As Integer) As Integer

      Declare Function GetCaretBlinkTime Lib "User" () As Integer

      Dim Success As Integer

#End If

    通过单击F5键来运行该样例程序,单击Form2窗体,这时Form1窗体将处
于非活动方式,其标题栏将会不断闪烁。单击Form1使它它变为活动方式,则
窗体的标题栏将不再闪烁。
                
*****************************************************
        
                    在VFP中实现字符的淡出淡入

                 郑州铁路机务段 (450052) 常宝东 

    字符淡出淡入效果是指字符从背景色中渐渐显示出来,或渐渐隐入其中,
如果我们能够 在软件的封面上加入此功能,或作软件的说明,定能为软件增色
不少。笔者利用Visual FoxPro(以下简称VFP)这种常用的数据库开发语言,编
写了一段程序,实现了该功能。 
    我们知道,色彩是由三原色(红、绿、蓝)组成,三原色的比例不同,所配置
出的颜色就 会不同。在现实生活中,三原色中每种色彩的变化是连续的,因此
可以组合出无穷色彩;而 在计算机中,色彩的变化是数字化的,即离散非连续
的,变化范围从0~255,共256种情况,因 此我们只要控制三原色的变化量,就
可以调配出所需要的色彩。如果我们可以连续控制三 原色的变化量,就可以
实现色彩的连续变化。 
    VFP中有一个函数RGB(),该函数可以指定三原色的比例,返回单一的色彩值。
该返回值 可作为其它控件的前景色或背景色的值,即可赋予控件的forecolor
或backcolor属性。该 函数声明如下: 
RGB(nRedValue,nGreenValue,nBlueValue) 

    其中nRedValue、nGreenValue、nBlueValue分别代表红、绿、蓝成份的强度,其
大小变化范围是0~255;同时,VFP还提供了一个功能强大的控件——定时器,它可
以按指定的时 间执行一指定的操作,操作完成后,仍把控制权交给CPU完成其它工
作。我们利用这两个工 具就可以实现字符的淡出淡入。现将具体步骤说明如下: 

1.启动VFP,并生成一个空白的表单。 
2.将表单的backcolor属性设置为192、192、192,即表单的背景色设为灰色。 
3.在表单的Init过程中写入以下代码: 
public r,g,b 
r=192 
g=192 
b=192 

4.在表单的Click过程中写入以下代码: 
thisform.starttimer.enabled=.f. 
thisform.endtimer.enabled=.t. 

5.在表单中加入一个标鉴控制,并设置其属性如下: 
BackStyle: 0,表示透明 
Caption : 养老保险基金管理系统 
Forecolor: 192,192,192 
Name : label1 
FontSize : 20 

6.在表单中加入一个定时器控制,并设置其属性如下: 
Interval : 80 
Name : starttimer 

在timer过程中加入以下代码: 
if r < 255 
r=r+1 
endif 
if b < 255 
b=b+1 
endif 
if g <255 
g=g+1 
endif 
thisform.lable1.forecolor=rgb(r,g,b) 
thisform.refresh() 

7.在表单中再加入一个定时器控件,并设置其属性如下: 
Enabled : .f.,即假 
Interval : 5 
name : endtimer 

在Timer过程中加入以下代码: 
if r <> 192 
r = r-1 
endif 
if b <> 192 
b = b-1 
endif 
if g <> 192 
g=g-1 
endif 
thisform.label1.forecolor=rgb(r,g,b) 
thisform.refresh() 
    完成以上步骤后,将表单存盘并运行,可以看到屏幕上出现一个灰色
背景的窗口,窗口 内从灰色到红色渐渐出现"养老保险基金管理系统"的
汉字,实现了淡入;在窗口内按一下鼠 标左键,可以看到汉字从红色到灰
色渐渐隐入到背景中去,实现了淡出。 
    将该表单作为管理系统软件的封面,取得了良好的视觉效果。通过改

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -