WEB开发网
开发学院软件开发VC 改变插入光标的闪烁速度 阅读

改变插入光标的闪烁速度

 2008-11-13 19:31:44 来源:WEB开发网   
核心提示: 2.进入 Class Wizard,为刚创建的对话框创建一个新的对话框类,改变插入光标的闪烁速度(2),把此类命名为 CBlinkDlg,从下拉列表中选择 CBlinkDlg,应该注意:整个一次闪烁的时间为所设置时间的两倍,这是因为:这个时间除包括打开光标(光标变亮)所用的时间外,从对象列

2.进入 Class Wizard,为刚创建的对话框创建一个新的对话框类。把此类命名为 CBlinkDlg,从下拉列表中选择 CBlinkDlg,从对象列表中选择对象 IDC_BUTTON1,从消息列表中选择消息 BN_CLICKED,点击按钮 Add Function 添加新的函数 OnChangeCursorSpeed,在 CBlinkDlg 的方法 OnChangeCursorSpeed 中添加如下代码。

void CBlinkDlg::OnChangeCursorSpeed()
{
  switch(cur_setting)
  {
  case 0:
    cur_setting=1;
    SetCaretBlinkTime(old_time);
    GetDlgItem(IDC_TEXT)->SetWindowText("Speed: Normal");
    break;
  case 1:
    cur_setting=2;
    GetDlgItem(IDC_TEXT)->SetWindowText("Speed: Slow");
    SetCaretBlinkTime(old_time*2);
    break;
  case 2:
    cur_setting=0;
    GetDlgItem(IDC_TEXT)->SetWindowText("Speed: Fast");
    SetCaretBlinkTime(old_time/2);
    break;
  }
}

3.把下面两行添加到类 CBlinkDlg 的构造函数中:

old_time=GetCaretBlinkTime();

cur_setting=0;

4.在此类的头文件中,添加下面暗红色字体的行:

class CBlinkDlg : public CDialog
{
private:
  UINT old_time;
  int cur_setting;
// Construction
public:
  CBlinkDlg(CWnd* pParent = NULL); // standard constructor
  ~CBlinkDlg();

5.将下面的代码添加到类的源文件 BlinkDlg.cpp 中。


CBlinkDlg::~CBlinkDlg()
{
  SetCaretBlinkTime(old_time);
}

6.接着,重新进入 AppStudio。从菜单列表中选择主菜单对象并添加标题为 Dialog 菜单,在此菜单上添加标题为 Change Caret Blink Speed、标识符为 ID_CARET_SPEED 的菜单项,保存此菜单,退出 AppStudio。

7.在 ClassWizard 中,从对象列表中选择对象 ID_CARET_SPEED,从消息列表中选择消息 COMMAND,点击按钮 Add Function 添加新函数 ,在此方法中添加如下代码。


void CMainFrame::OnCaretSpeed()
{
  CBlinkDlg dlg;
  dlg.DoModal();
}

8.把下面的 include 文件行添加到源文件 MainFrm.cpp 的顶部:

#include "BlinkDlg.h"

9.编译并运行此例子程序。

用法

当用户选择对话框并点击按钮 Change Caret Blink 时,方法 OnChangeCursorSpeed 被调用,此方法检查成员变量 cur_setting 的当前值,并在方法 SetCaretBlinkTime 中设置相应的速度。在对话框的构造函数中,通过对函数 GetCaretBlinkTime 的调用,来获取插入光标闪烁速度的初始值。在例子程序中,将根据此初始设置值,使闪烁的时间或者减半(加快闪烁)或者倍增(减慢闪烁)从而来改变光标的闪烁速度。在对话框的析构函数中,通过方法 SetCaretBlinkTime 将插入光标闪烁速度设置为 Windows 的默认值,以确保对其它应用程序不产生影响。应该注意:整个一次闪烁的时间为所设置时间的两倍,这是因为:这个时间除包括打开光标(光标变亮)所用的时间外,还要包括关闭光标(光标变暗)所用的时间。

上一页  1 2 

Tags:改变 插入 光标

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接