• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    改造Hint輸出方式

    發布: 2007-7-14 20:28 | 作者: 佚名    | 來源: 網絡轉載     | 查看: 10次 | 進入軟件測試論壇討論

    領測軟件測試網  Delphi為每個可視構件(而非快速按鈕專屬)都提供了Hint及ShowHint特性,其中Hint屬性指定文本提示盒中的文本,而ShowHint屬性則決定鼠標指向構件時是否顯示文本提示盒,當ShowHint值為True時,顯示文本提示盒。用戶可在對象監視器(Object Inspector)的屬性欄中設置或在程序中修改Hint及ShowHint屬性。

      除此之外,Delphi還在類TApplication中提供了HintColor、HintPause、HintHidePause、HintShortPause幾個屬性來控制文本提示盒的輸出方式。

      一般來說,HintColor、HintPause、HintHidePause、HintShortPause通常在Form的OnCreate事件中設定它們的值(如有需要的話),如以下的一段程序。

      ProcedureTMainForm.FormCreate(Sender:TObject);
      begin
      Application.HintPause:=0;{使文本提示盒立即出現}
      Application.HintPause:=clBlue;{以藍色小方框的方式出現}
      Application.HintHidePause:=10000;{延長停留時間為10秒}
      Application.HintShortPause:=100;
      end;

      另外,在編程中,我們還可以通過TApplication的OnHint事件獲取鼠標指向構件的Hint文本。

      事實上,Delphi提供的文本提示盒輸出方框、文本字型都太小,既不美觀亦不易看清。值得慶幸的是,Delphi2.0版提供了全部構件的源代碼,我們可以通過對類TApplication的源碼作一些小修改,增加一個HintFont的屬性,即可象修改HintColor一樣來修改文本提示盒的字體、
    字型大小等。

      TApplication是在Forms單元里定義的,因此讓我們打開Forms.pas單元文件來作以下一些修改:

      ProcedureSetHintColor(Value:TColor};
      ProcedureSetHintFont(Value:TFont);{1997.04.19 MyNewIdea}
      Property HintColor:TColor read FHintColor Write SetHintColor;
      Property HintFont:TFontwriteSetHintFont;{1997.04.19Mynewidea}
      ProcedureTApplication.SetHintColor(Value:Color); //增加一個過程{1997.04.19Mynewidea}

      ProcedureTApplication.SetHintFont(Value:TFont);  
      begin
      if(Value nil) and (FHinWindow nil) then
      FHintWindow.Canvas.Font:=Value;
      end;{1997.04.19Mynewidea}

      別忘了在新增的語句旁作一些必要的注釋,如上 模?997.04.19Mynewidea},可以很清楚地知道哪些語句是你自己加進去的。

      將修改后的Forms.pas存盤,然后重建庫文件,以后在你的庫文件里,類TApplication就多了一個屬性HintFont,你就可以很輕易的通過HintFont屬性來修改文本提示盒的字體、字型大小了,如以下一段程序:

      ProcedureTMainForm.FormCreate(Sender:TObject);
      Var
      NewHintFont : TFont;
      begin
      NewHintFont:=TFont.Create;
      NewHintFont.Name:=楷體-GB2312;{設置字體為楷體}
      NewHintFont.Size:=12;{設置字型大小為12}
      Application.HintFont:=NewHintFont;
      end;

      此外,Delphi繪制文本提示盒是在類THintWindow的方法ActivateHint中通過WindowsAPI資源函數SetWindowPos來實現的,這段代碼在Controls.pas單元文件里,有興趣的讀者可以進一步修改這段代碼以繪制其他任意形狀(如橢圓、圓等)而不僅僅是矩型方框的文本提示盒!但或許最好的方法是從類THintWindow繼承下來一個新類,并重載ActivateHint方法,然后在應用程序開始處給變量HintWindowClass指派一個新類實例。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>