שאלה על ארוע מקלדת ב MFC

  • פותח הנושא NORT
  • פורסם בתאריך

NORT

New member
שאלה על ארוע מקלדת ב MFC

1.בתוכנית שאני כותב ב MFC כשלוחצים על Esc אז החלון הנוכחי שפתוח ניסגר. אני לא מצליח למנוע את זה, מישהו יודע איך עושים את זה ? 2.אני משתמש ב EDIT BOX לכתיבת TEXT , בישביל לעבור לשורה חדשה אני צריך ללחוץ על Ctrl+Enter - מישהו יודע איך אני משנה את זה שמעבר לשורה חדשה יהיה רק ע"י לחיצה על Enter ?
 

galh

New member
יש אירוע ולא הזמינו אותי? ../images/Emo10.gif

1. תתפוס את "האירוע" של OnClose (או WM_CLOSE) ואל תקרא לאבא (שסוגר את החלון). 2. אני לא טועה, צריך להגדיר את "תיבת העריכה" בתור Multi-line.
 

NORT

New member
הגדרתי Multi-line אבל מעבר השורה

לא נעשה כמו שאני רוצה (ע"י לחיצה על Enter) . אולי יש עוד משהו שצריך להגדיר ? לגבי 1.באיזה חלון אני מגדיר את ה OnClose ז"א יש לי נגיד 8 חלונות X פותח את Y , Y פותח את Z , אני צריך להגדיר ב X Y Z את מתודה OnClose ? (לפי מה שהבנתי (לא בטוח שאני צודק) סגירת החלון נעשה לע הע"י החלון הפתוח עכשיו אלה ע"י החלון שפתח אותו )
 

galh

New member
צריך עוד משהו, Want return.

חלון יכול לסגור את עצמו, לא רק האבא שלו. אתה צריך להגדיר את OnClose לחלון שאתה לא רוצה שיסגר ע"י ESC. אגב, אם מדובר בחלון שהוא דיאלוג, אז יכול להיות שאם יש לך כפתור שמוגדר Default עם ID של IDCANCEL אז הדיאלוג יסגר שלוחצים ESC.
 

NORT

New member
אני לא מוצא את ההגדרות של

Default עם ID של IDCANCEL , בכל אופן אני יגדיר WM_CHAR שיבדוק אם נילחץ המקש Esc , איך אני בודק אם זה Esc ? אני יכול גם לבצע אותו דבר לגבי מעבר לשורה , ז"א איבחון של Enter יבצע ארוע של לחיצה על Ctrl+Enter - אבל איך אני מזין ארוע של לחיצה על Ctrl+Enter ? (אני חושב שלחיצה על SHIFT נעשת ע"י MK_SHIFT)
 

galh

New member
תחפש ב- Resource Editor.

זה הכפתור עם ה- style של Default button. אתה יכול לעשות את זה בצורה הזו, אבל למה?! הכל כבר קיים וממומש ע"י חלונות. לא עדיף כבר לכתוב דרייבר למקלדת שלא שולח לתוכנה שלך את התו ESC?
 

NORT

New member
אני בתוך ה Resource Editor

אבל אין שם שם דבר כמו שאתה מתאר. הוא הרי מורכב מי DEFINE עם מספר זיהוי של COMPONENT (אני מסתכל המקום הנכון ?) ואין שם איזכור למשהו עם style של Default button
 

galh

New member
של ה- Visual Studio?

בטאב של ה- General יש את ה- ID שלו. בטאב של ה- Style יש את ה- Default Button (הראשון). לא אמרתי _שחייב_ להיות כפתור כזה.
 
למעלה