¸ÄÔìHintÊä³ö·½Ê½ 2000-06-25 00:00:00¡¤
-¡¤Öйú¼ÆËã»ú±¨ ¡¡¡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£ý
¡¡¡¡±ðÍüÁËÔÚÐÂÔöµÄÓï¾äÅÔ×÷һЩ±ØÒªµÄ×¢ÊÍ£¬ÈçÉÏ Ä£û1997.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¼Ì³ÐÏÂÀ´Ò»¸öÐÂÀ࣬²¢ÖØÔØActivate£¿Hint·½·¨£¬È»ºóÔÚÓ¦ÓóÌÐò¿ªÊ¼´¦¸ø±äÁ¿HintWindowClassÖ¸ÅÉÒ»¸öÐÂÀàʵÀý¡£
|