השתמש בשפת קידוד ספציפית כדי לתכנת יישומי דלפי להצגת רמז, או הסבר כלים, כאשר העכבר מרחף מעל רכיב בתפריט. אם המאפיין "ShowHint" מוגדר כ- "true" ותוסיף טקסט למאפיין "hint", הודעה זו תוצג כאשר העכבר ממוקם מעל הרכיב (לחצן TB, למשל).
אפשר רמזים לפריטי תפריט
בגלל התכנון של Windows, גם אם תגדיר את הערך של המאפיין רמז לפריט בתפריט, הרמז הקופץ לא יופיע. עם זאת, פריטי תפריט ההתחלה של חלונות מציגים רמזים. התפריט המועדפים ב- Internet Explorer מציג גם רמזים לפריטים בתפריט.
ניתן להשתמש באירוע OnHint של משתנה היישום הגלובלי ב- דלפי יישומים להצגת רמזים לפריט בתפריט בשורת מצב.
Windows אינו חושף את ההודעות הדרושות לתמיכה באירוע OnMouseEnter מסורתי. עם זאת, הודעת WM_MENUSELECT נשלחת כאשר המשתמש בוחר פריט בתפריט.
יישום WM_MENUSELECT של TCustomForm (אב הקדמון של TForm) מגדיר את רמז פריט התפריט ל- "Application. רמז "כך שניתן להשתמש בו ביישום. אירוע OnHint.
אם ברצונך להוסיף רמזים קופצים של פריטי תפריט (טיפים) לתפריטי היישום שלך בדלפי, התמקד בהודעת WM_MenuSelect.
רמזים קופצים
מכיוון שאינך יכול לסמוך על היישום. שיטת ActivateHint כדי להציג את חלון הרמז לפריטי תפריט (שכן הטיפול בתפריט נעשה לחלוטין על ידי
חלונות), כדי להציג את חלון הרמז, עליך ליצור גרסה משלך לחלון הרמזים על ידי להפיק מחלקה חדשה מ- "THintWindow."כך תוכלו ליצור כיתת TMenuItemHint. זוהי אלמנת רמז שמוצגת בפועל עבורה פריטי תפריט!
ראשית, עליך לטפל בהודעת Windows_MENUSELECT Windows:
סוג
TForm1 = מעמד(TForm)
...
פרטי
תהליך WMMenuSelect (var מס ': TWMMenuSelect); הודעה WM_MENUSELECT;
סוף...
יישום...
תהליך TForm1.WMMenu בחר (var מס ': TWMMenuSelect);
var menuItem: TMenuItem; hSubMenu: HMENU;
התחל
ירש; // מ- TCustomForm (כך שיישום זה. מוקצה רמז)
menuItem: = אפס;
אם (מג. MenuFlag <> $ FFFF) או (מג. IDItem <> 0) לאחר מכן
התחל
אם מסג. MenuFlag ו MF_POPUP = MF_POPUP לאחר מכן
התחל
hSubMenu: = GetSubMenu (מס '. תפריט, מס. IDItem);
menuItem: = עצמי. תפריט. FindItem (hSubMenu, fkHandle);
סוף
אחר
התחל
menuItem: = עצמי. תפריט. FindItem (MSG. IDItem, fkCommand);
סוף;
סוף; מינט. DoActivateHint (menuItem);
סוף; (* WMMenuSelect *)
מידע מהיר: הודעת WM_MENUSELECT נשלחת לחלון הבעלים של התפריט כאשר המשתמש בוחר (אך לא לוחץ) על פריט בתפריט. בשיטת FindItem בשיעור TMenu, באפשרותך לקבל את פריט התפריט שנבחר כעת. פרמטרים של פונקציית FindItem קשורים לתכונות ההודעה שהתקבלה. ברגע שאנו יודעים איזה פריט בתפריט נגמר העכבר, אנו קוראים לשיטת DoActivateHint בשיעור TMenuItemHint. משתנה miHint מוגדר כ- "var miHint: TMenuItemHint" ונוצר בתבנית של הטופס OnCreate מנהל אירועים.
כעת, מה שנותר הוא יישום מחלקת TMenuItemHint.
להלן חלק הממשק:
TMenuItemHint = מעמד(THintWindow)
פרטי
activeMenuItem: TMenuItem;
showTimer: TTimer;
hideTimer: TTimer;
תהליך HideTime (שולח: TObject);
תהליך ShowTime (שולח: TObject);
ציבורי
בנאי צור (AOwner: TComponent); לבטל;
תהליך DoActivateHint (menuItem: TMenuItem);
הרס להרוס; לבטל;
סוף;
בעיקרון, הפונקציה DoActivateHint קוראת לשיטת ActivateHint של ה- THintWindow באמצעות המאפיין Hint של TMenuItem (אם הוא מוקצה). ה- ShowTimer משמש כדי להבטיח ש- HintPause של היישום יחלוף לפני הצגת הרמז. ה- hideTimer משתמש ביישום. HintHidePause להסתרת חלון הרמז לאחר מרווח מוגדר.
שימוש ברמזים לפריט תפריט
אמנם יש שיאמרו שזה לא עיצוב טוב להציג רמזים לפריטי תפריט, אך ישנם מצבים שבהם הצגת רמזים לפריטים בפועל טובה בהרבה מאשר שימוש בסרגל מצב. רשימת פריטי תפריט המשמשים לאחרונה (MRU) היא מקרה אחד כזה. תפריט שורת משימות מותאם אישית הוא אחר.