שאלה ב MFC

1אברהם

New member
שאלה ב MFC

אני משתמש בפונקציה CMenu::SetMenuItemBitmaps כדי לשים תמונה ( bitmap ) ליד כל שורה בתפריט. הבעיה היא כשהסמן של העכבר עומד על שורה בתפריט אז לא רק הרקע של הטקסט ניצבע בכחול אלה גם התמונה שמשמאלו צבעיה מתהפכים וזה לא רצוי. ראיתי שבתפריטים של אפליקציות אחרות שהתמונות בתפריט לא משתנה הצבע שלהם כשהסמן עומד עליהם , רק הטקסט והרקע שלו מתהפכים בצבע.
 
במקום שחור ולבן תשים כמעט צבעים

חיפוש קצר בגוגל על "SetMenuItemBitmaps TRANSPARENT <BR> (0,0,0) -> (1,1,1) <BR> (255,255,255) -> (254,254,254) <BR> The selected and clear bitmaps should be monochrome. The system uses the Boolean AND operator to combine bitmaps with the menu so that the white part becomes transparent and the black part becomes the menu-item color. If you use color bitmaps, the results may be undesirable.
 

1אברהם

New member
תודה, אבל לא הבנתי את ההערה שלהם

כתוב שהחלק השחור בתמונה הופך להיות בצבע התפריט ( and the black part becomes the menu-item color. ) אבל אם מדובר בפעולת AND בין הצבעים אז הרי שחור ישאר שחור ( כי ה RGB שלו הוא 0,0,0 ) וגם רואים שזה ככה, וכשהסמן עומד עליו השחור נהיה כחול ( ? ) ודרך אגב אני רוצה דוקא להשתמש ב bitmap ציבעוני ולא שחור לבן ( וראיתי אפליקציות כמו למשל אפילו ב Vusual 6 עצמו ) שם ה bitmap משמאל לטקסט של כל שורה בתפריט לא משנה את צבעיו כשהסמן עומד על אותה שורה.
 
תשתמש בעורך תמונות

(GIMP לדוגמא) ותחליף את 0,0,0 ב-1,1,1 (אני חושב שהם משתמשים גם ב-NOT )
 

1אברהם

New member
נסיתי ולא הצליח

השתמשתי ב PaintBrush כדי לסדר את הצבעים. בכל מקרה זה עדין לא פותר לי את הבעיה כי אני רוצה לשים bitmap ציבעוניים
 

1אברהם

New member
תמונה

בתמונה העליונה רואים שורה אחת מהתפריט ( היכן שכתוב Adder ) שמשמאל לטקסט יש תמונה (bitmap של ריבוע שחור ובתוכו עיגול לבן ) בתמונה התחתונה יש את אותה שורה בתפריט כשהסמן ( העכבר ) עליו.
 
למעלה