国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

改造HINT的輸出方式

2019-11-18 18:54:50
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Delphi為每個(gè)可視構(gòu)件(而非快速按鈕專(zhuān)屬)都提供了Hint
及ShowHint特性,其中Hint屬性指定文本提示盒中的文本,
而ShowHint屬性則決定鼠標(biāo)指向構(gòu)件時(shí)是否顯示文本提示盒,
當(dāng)ShowHint值為T(mén)rue時(shí),顯示文本提示盒。用戶可在對(duì)象監(jiān)
視器(ObjectInspector)的屬性欄中設(shè)置或在程序中修改Hint
及ShowHint屬性。
除此之外,Delphi還在類(lèi)Tapplication中提供了
HintColor、HintPause、HintHidePause、HintShortPause幾
個(gè)屬性來(lái)控制文本提示盒的輸出方式。
一般來(lái)說(shuō),HintColor、HintPause、HintHidePause、
HintShortPause通常在Form的OnCreate事件中設(shè)定它們的值
(如有需要的話),如以下的一段程序。
PRocedureTMainForm.FormCreate(Sender:TObject);
begin
Application.HintPause:Κ0;{使文本提示盒立即出現(xiàn)}
Application.HintPause:ΚclBlue;{以藍(lán)色小方框的
方式出現(xiàn)}
Application.HintHidePause:Κ10000;{延長(zhǎng)停留時(shí)間
為10秒}
為10秒}
Application.HintShortPause:Κ100;
end;
另外,在編程中,我們還可以通過(guò)TApplication的OnHint
事件獲取鼠標(biāo)指向構(gòu)件的Hint文本。
事實(shí)上,Delphi提供的文本提示盒輸出方框、文本字型都
太小,既不美觀亦不易看清。值得慶幸的是,Delphi2.0版提
供了全部構(gòu)件的源代碼,我們可以通過(guò)對(duì)類(lèi)TApplication的
源碼作一些小修改,增加一個(gè)HintFont的屬性,即可象修改
HintColor一樣來(lái)修改文本提示盒的字體、字型大小等。
TApplication是在Forms單元里定義的,因此讓我們打開(kāi)
Forms.pas單元文件來(lái)作以下一些修改:
ProcedureSetHintColor(Value:TColor};
ProcedureSetHintFont(Value:TFont);
{1997.04.19Mynewidea}
PropertyHintColor:
TColorreadFHintColorWriteSetHintColor;
PropertyHintFont:TFontwriteSetHintFont;
{1997.04.19Mynewidea}
ProcedureTApplication.SetHintColor(Value:Color);
上增加一個(gè)過(guò)程
{1997.04.19Mynewidea}
ProcedureTApplication.SetHintFont(Value:TFont);
beginif(ValueΙΛnil)and(FHinWindowΙΛnil)then
FHintWindow.Canvas.Font:ΚValue;
end;{1997.04.19Mynewidea}
別忘了在新增的語(yǔ)句旁作一些必要的注釋?zhuān)缟厦娴?
{1997.04.19Mynewidea},可以很清楚地知道哪些語(yǔ)句是你
自己加進(jìn)去的。
將修改后的Forms.pas存盤(pán),然后重建庫(kù)文件,以后在
你的庫(kù)文件里,類(lèi)TApplication就多了一個(gè)屬性HintFont,
你就可以很輕易的通過(guò)HintFont屬性來(lái)修改文本提示盒的字
體、字型大小了,如以下一段程序:
ProcedureTMainForm.FormCreate(Sender:TObject);
Var
NewHintFont:ΚTFont.Create;
begin
NewHintFont:ΚTFont.Create;
NewHintFont.Name:Κ′楷體-GB2312′;{設(shè)置字體為
楷體}
NewHintFont.Size:Κ12;{設(shè)置字型大小為12}
Application.HintFont:ΚNewHintFont;
end;
此外,Delphi繪制文本提示盒是在類(lèi)THintWindow的方法
ActivateHint中通過(guò)WindowsAPI資源函數(shù)SetWindowPos來(lái)實(shí)
r> ActivateHint中通過(guò)WindowsAPI資源函數(shù)SetWindowPos來(lái)實(shí)
現(xiàn)的,這段代碼在Controls.pas單元文件里,有興趣的讀者
可以進(jìn)一步修改這段代碼以繪制其他任意形狀(如橢圓、圓等)
而不僅僅是矩型方框的文本提示盒!但或許最好的方法是從類(lèi)
THintWindow繼承下來(lái)一個(gè)新類(lèi),并重載Activate??Hint方
法,然后在應(yīng)用程序開(kāi)始處給變量HintWindowClass指派一個(gè)
新類(lèi)實(shí)例

(摘自BBS 水木清華站)


上一篇:自制支持文件拖放的VCL組件

下一篇:類(lèi)似網(wǎng)絡(luò)螞蟻的懸浮窗體

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門(mén)圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 五河县| 桂平市| 铜陵市| 筠连县| 文昌市| 蓝山县| 建阳市| 德令哈市| 宿州市| 开封市| 金秀| 嘉祥县| 中宁县| 教育| 南和县| 海兴县| 合水县| 永登县| 沐川县| 襄樊市| 天台县| 定结县| 阿勒泰市| 大邑县| 肇东市| 光山县| 谢通门县| 苏尼特左旗| 方正县| 斗六市| 隆昌县| 米易县| 宜丰县| 澄迈县| 进贤县| 营口市| 齐齐哈尔市| 贺兰县| 林周县| 承德县| 乌兰浩特市|