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

📄 122.htm

📁 水木清华的BBS文章
💻 HTM
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>CTerm非常精华下载</title>
</head>
<body bgcolor="#FFFFFF">
<table border="0" width="100%" cellspacing="0" cellpadding="0" height="577">
<tr><td width="32%" rowspan="3" height="123"><img src="DDl_back.jpg" width="300" height="129" alt="DDl_back.jpg"></td><td width="30%" background="DDl_back2.jpg" height="35"><p align="center"><a href="http://bbs.tsinghua.edu.cn"><font face="黑体"><big><big>水木清华★</big></big></font></a></td></tr>
<tr>
<td width="68%" background="DDl_back2.jpg" height="44"><big><big><font face="黑体"><p align="center">         Delphi编程                            (BM: strayli FlyingBoy)          </font></big></big></td></tr>
<tr>
<td width="68%" height="44" bgcolor="#000000"><font face="黑体"><big><big><p   align="center"></big></big><a href="http://cterm.163.net"><img src="banner.gif" width="400" height="60" alt="banner.gif"border="0"></a></font></td>
</tr>
<tr><td width="100%" colspan="2" height="454"> <p align="center">[<a href="index.htm">回到开始</a>][<a href="4.htm">上一层</a>][<a href="123.htm">下一篇</a>]
<hr><p align="left"><small>发信人: pitts (痛并快乐着), 信区: Delphi <br>

标  题: 改造HINT的输出方式 <br>

发信站: BBS 水木清华站 (Tue Oct 13 10:49:04 1998) WWW-POST <br>

  <br>

    Delphi为每个可视构件(而非快速按钮专属)都提供了Hint <br>

及ShowHint特性,其中Hint属性指定文本提示盒中的文本, <br>

而ShowHint属性则决定鼠标指向构件时是否显示文本提示盒, <br>

当ShowHint值为True时,显示文本提示盒。用户可在对象监 <br>

视器(ObjectInspector)的属性栏中设置或在程序中修改Hint <br>

及ShowHint属性。 <br>

    除此之外,Delphi还在类TApplication中提供了 <br>

HintColor、HintPause、HintHidePause、HintShortPause几 <br>

个属性来控制文本提示盒的输出方式。 <br>

    一般来说,HintColor、HintPause、HintHidePause、 <br>

HintShortPause通常在Form的OnCreate事件中设定它们的值 <br>

(如有需要的话),如以下的一段程序。 <br>

    ProcedureTMainForm.FormCreate(Sender:TObject); <br>

    begin <br>

    Application.HintPause:Κ0;{使文本提示盒立即出现} <br>

    Application.HintPause:ΚclBlue;{以蓝色小方框的 <br>

方式出现} <br>

    Application.HintHidePause:Κ10000;{延长停留时间 <br>

为10秒} <br>

为10秒} <br>

    Application.HintShortPause:Κ100; <br>

    end; <br>

    另外,在编程中,我们还可以通过TApplication的OnHint <br>

事件获取鼠标指向构件的Hint文本。 <br>

    事实上,Delphi提供的文本提示盒输出方框、文本字型都 <br>

太小,既不美观亦不易看清。值得庆幸的是,Delphi2.0版提 <br>

供了全部构件的源代码,我们可以通过对类TApplication的 <br>

源码作一些小修改,增加一个HintFont的属性,即可象修改 <br>

HintColor一样来修改文本提示盒的字体、字型大小等。 <br>

    TApplication是在Forms单元里定义的,因此让我们打开 <br>

Forms.pas单元文件来作以下一些修改: <br>

    ProcedureSetHintColor(Value:TColor}; <br>

    ProcedureSetHintFont(Value:TFont); <br>

{1997.04.19Mynewidea} <br>

    PropertyHintColor: <br>

TColorreadFHintColorWriteSetHintColor; <br>

    PropertyHintFont:TFontwriteSetHintFont; <br>

{1997.04.19Mynewidea} <br>

    ProcedureTApplication.SetHintColor(Value:Color); <br>

上增加一个过程 <br>

    {1997.04.19Mynewidea} <br>

    ProcedureTApplication.SetHintFont(Value:TFont); <br>



    beginif(ValueΙΛnil)and(FHinWindowΙΛnil)then <br>

    FHintWindow.Canvas.Font:ΚValue; <br>

    end;{1997.04.19Mynewidea} <br>

    别忘了在新增的语句旁作一些必要的注释,如上面的 <br>

{1997.04.19Mynewidea},可以很清楚地知道哪些语句是你 <br>

自己加进去的。 <br>

    将修改后的Forms.pas存盘,然后重建库文件,以后在 <br>

你的库文件里,类TApplication就多了一个属性HintFont, <br>

你就可以很轻易的通过HintFont属性来修改文本提示盒的字 <br>

体、字型大小了,如以下一段程序: <br>

    ProcedureTMainForm.FormCreate(Sender:TObject); <br>

    Var <br>

    NewHintFont:ΚTFont.Create; <br>

    begin <br>

    NewHintFont:ΚTFont.Create; <br>

    NewHintFont.Name:Κ′楷体-GB2312′;{设置字体为 <br>

楷体} <br>

    NewHintFont.Size:Κ12;{设置字型大小为12} <br>

    Application.HintFont:ΚNewHintFont; <br>

    end; <br>

    此外,Delphi绘制文本提示盒是在类THintWindow的方法 <br>

ActivateHint中通过WindowsAPI资源函数SetWindowPos来实 <br>

r>

ActivateHint中通过WindowsAPI资源函数SetWindowPos来实 <br>

现的,这段代码在Controls.pas单元文件里,有兴趣的读者 <br>

可以进一步修改这段代码以绘制其他任意形状(如椭圆、圆等) <br>

而不仅仅是矩型方框的文本提示盒!但或许最好的方法是从类 <br>

THintWindow继承下来一个新类,并重载Activate

⌨️ 快捷键说明

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