תכרעמ תועדוה - Windows API
ישאר דומע יאוזו רנק ודיע תאמ

!םוחת לכב רתויב תוצופנה תועדוהה תא הליכמ המישרה

רבכע תועדוה

רואית

העדוה
הלופכ הציחל ץחלנ ילאמשה רבכעה ןצחל רשאכ
.(הרקב חולל ךל תוציחלה יתש ןיב הינשה תויאמ המכב טולשל ליבשב)
WM_LBUTTONDBLCLK
.ררחוש אל דוע לבא ץחלנ ילאמש רבכע ןצחל רשאכ
WM_LBUTTONDOWN
.הציחלהמ ררחוש ילאמשה רבכעה ןצחל רשאכ
WM_LBUTTONUP
םינצחלה ינשל סחוימ םימעפל] יעצמא רבכע ןצחל רשאכ
.הלופכ הציחל ץחלנ [דחיב םיצחלנש (ילאמשהו ינמיה)
WM_MBUTTONDBLCLK
.ררחוש אל דועו ץחלנ יעצמאה רבכעה ןצחל רשאכ
WM_MBUTTONDOWN
.הציחלהמ ררחוש יעצמאה רבכעה ןצחל רשאכ
WM_MBUTTONUP
.רבכע תזוזת תעב
WM_MOUSEMOVE
.תחלשנ וז העדוה ,יהשלכ הלועפ השוע רבכעה רשאכ
.וילא תחלשנ העדוהה זא ,רבכעה תא "ספת"ש ןולח שיו הדימב
.רבכעל ןמסל תחתמש ןולחל תחלשנ העדוהה זא אל םא
WM_NCHITTEST
.הלופכ הציחל ץחלנ ינמיה רבכעה ןצחל רשאכ
WM_RBUTTONDBLCLK
.ררחוש אלו ץחלנ ינמיה רבכעה ןצחל רשאכ
WM_RBUTTONDOWN
.הציחלמ ררחוש ינמיה רבכעה ןצחל רשאכ
WM_RBUTTONUP
.ונממ אצי אלו םיוסמ טקייבוא ךותל סנכנ רבכעה רשאכ
CM_MOUSEENTER
.םיוסמ טקייבואמ אצי רבכעה רשאכ
CM_MOUSELEAVE


תדלקמ תועדוה

רואית

העדוה
.ליעפה ןולחל םיחלשנ םיוותה .םיצחלנש םיוותה לכ תא ליכמ
רשאכ תדלקמה לש סוקופה לעב ןולחל תחלשנ העדוהה
.TranslateMessage תיצקנופ י"ע תמגרותמ WM_KEYDOWN

ץחלנש שקמה לש דוקה תא ליכמ wParam

:טסקטה יבגל םיפסונ םיכרע ליכמ lParam
דועו (WM_KEYUP עיגמש ינפל) ות ותוא לש תורזחה רפסמ לשמל ומכ
WM_CHAR
.© ותה לשמל .םישקמ ינש לש בולישמ םירצונה םיוות ליכמ
WM_DEADCHAR
םע וא םיטירפתה םע עיפומ כ"דב) תינכותב "םח שקמ" םשרנ
.(תמיוסמ הלועפ השעיש םיוסמ שקמ םירידגמו ןהב םישמתשמש תויוותה
WM_HOTKEY
.(הציחלב ברועמ אל ALT שקמה) בזענ אל לבא ץחלנ והשלכ שקמ רשאכ
WM_KEYDOWN
.(רורחשבו הציחלב ברועמ אל ALT שקמה) ררחושמ והשלכ שקמ רשאכ
WM_KEYUP
.רחא ןולח תבוטל תדלקמה תא דבאמ ןולחה רשאכ קוידב חלשנ
WM_KILLFOCUS
.רחא ןולחמ תדלקמה תא לבקמ ןולחה רשאכ חלשנ
WM_SETFOCUS
.ץחלנ ALT-ה רשאכ םיצחלנש םיוותה לכ תא ליכמ
WM_SYSCHAR
.ץוחל םג ALT רשאכ םישקמ המכ לש בולישמ םירצונה םיוות ליכמ
WM_SYSDEADCHAR
.ALT-ה שקמ םע ףותישב בזענ אלו ץחלנ והשלכ שקמ רשאכ
WM_SYSKEYDOWN
.ץוחל ALT-ה שקמ םע ףותישב בזענ והשלכ שקמ רשאכ
WM_SYSKEYUP


ןולח תועדוה

רואית

העדוה
.ולש סוקופה תא דבאמ וא לבקמ ןולחה רשאכ

םיכרע ינש ליכמ wParam
ןטקומ בצמב ןולחה ,ספאמ הנוש אוה םא רשא ינאילוב ךרע ליכמ HIWORD
:הלעפה דוק ליכמ LOWORD
WM_ACTIVE, WM_CLICKACTIVE, WM_INACTIVE
ןולחה תבותכ תא ליכמ lParam
WM_ACTIVATE
.ךלש םושייהמ ולש סוקופה תא לבקל ךלוה רחא םושיי לש ןולח רשאכ

:ינאילוב ךרע ליכמ wParam
סוקופ לבקמ ןולחה םא TRUE
סוקופ דבאמ ןולחהשכ FALSE

ןולחה ךיש וילאש thread-ל עיבצמ lParam
WM_ACTIVATEAPP
.לוטיב לע הציחל תא םילבקמ תועדוה ןולח וא תועדוה גולאיד רשאכ

םירטמרפ ןיא העדוהל
WM_CANCELMODE
לע ץחלנ (MDI - Multiple Document Interface) ןב ןולח רשאכ
.וילע סוקופה תא לבקמ וא זזומ ,לדוג הנשמ ,ולש תרתוכה

םירטמרפ ןיא העדוהל
WM_CHILDACTIVATE
.ןורכזהמ ררחתשהלו ותדובע תא םייסל שקבתמ ןולח רשאכ

םירטמרפ ןיא העדוהל
WM_CLOSE
יוניש לש העדוה חלוש ביכר וא ,טירפת לש הריחב שי רשאכ
.תדלקמה תעדוה לש שוריפ שי וא ,ישארה ןולחל

:םיכרע ינשמ בכרומ wParam
(1 וא 0) העדוהה דוק תא ליכמש HIWORD
( resource-ה ץבוקב רדגומש המ) טנמלאה לש יוהיזה תא ליכמש LOWORD

העדוהה תא חלשש טנמלאל handle-ה תא ליכמ lParam
WM_COMMAND
רחא ןולח ןיבל וניב עדימ ריבעמ ןולחה רשאכ
.(OLE Automation ה תטישב םישמתשמ רשאכ לשמל)

חלושה ןולחה תבותכ תא ליכמ wParam

רבעומש עדימה תא ליכמש COPYDATASTRUCT גוסמ הנבמל עיבצמ ליכמ lParam
WM_COPYDATA
תונכותה י"ע רצונ שדח ןולח רשאכ תחלשנ תאז העדוה
CreateWindowEx-ו CreateWindow
ולא תויצקנופמ םירזוחש ינפל שדחה ןולחה לא תחלשנ העדוהה
.גצומ שדחה ןולחהש ינפלו

רצונש ןולחה לע עדימ ליכמש CREATESTRUCT גוסמ הנבמ ליכמ lParam
WM_CREATE
.(ותדובע תא רמג ןולחהש ירחא רמולכ) ררחושמ ןולחה לש ןורכזה רשאכ

םירטמרפ ןיא העדוהל
WM_DESTROY
ןולחה בצמ תא "הטילחמ"EnableWindow היצקנופה רשאכ
.(ליעפ אל וא ליעפ)

ליעפ אל וא ליעפ בצמל רבע ןולחה םאה ינאילוב ךרע ליכמ wParam
WM_ENABLE
.םיוסמ לדוג ול עובקלו ןולחה תא ןיטקהל/לידגהל םיסנמ רשאכ

MINMAXINFO גוסמ הנבמל עיבצמ ליכמ lParam
WM_GETMINMAXINFO
.תונולח לש ןורכזהמ וילא חלשנה טסקטה תא לבקמ ןולחה רשאכ

הקתעהל םיותה רפסה תא ליכמ wParam

תזורחמה לש buffer -ה תבותכ תא ליכמ lParam
WM_GETTEXT
.ומוקממ זזוה ןולחש ירחא

:םיקלח ינשל קלוחמ lParam
תילאמש הנוילעה הניפה לש (x) תיקפוא הטנידרוק ליכמ LOWWORD
תילאמש הנוילעה הניפה לש (y) תיכנא הטנידרוק ליכמ HIWORD
WM_MOVE
דמשומ וא רצונ ולש ןבה ןולח רשאכ בא ןולחל תחלשנ
.ןבה ןולח לע ןמסה רשאכ רבכעב שיקמ שמתשמ רשאכ וא

:םיקלח ינשל קלוחמ wParam
:ערואמ דוק ליכמ LOWORD
WM_CREATE, WM_DESTROY, WM_LBUTTONDOWN WM_RBUTTONDOWN, WM_MBUTTONDOWN

וא WM_CREATE תועדוהה ולבקתה םא ןבה ןולח יוהיז תא ליכמ HIWORD
WM_DESTROY
0 ליכמ תרחא

:lParam
זא WM_DESTROY וא WM_CREATE הליכמ העדוהה םא
,ןבה ןולח handle תא ליכמ רטמרפה
(x, y) ןבה ןולחב ןמסה תוטנידרוק תא ליכמ ,תרחא
WM_PARENTNOTIFY
.םייק ןיידע אוהש תורמל ...NT-ו 95 תונולחב שחרתמ אל
.התדובע תא "םייסל" תכלוה תונולח רשאכ תשחרתמ תאז העדוה
suspend בצמל סנכהל דמוע דיינ בשחמ רשאכ תחלשנ

:תעצבתמה הלועפה לע העדוה ליכמ wParam
PWR_CRITICALRESUME, PWR_SUSPENDREQUEST PWR_SUSPENDRESUME
WM_POWER
תחלשנ וז העדוה ,תלעופ ExitWindows היצקנופה רשאכ
.ןמזה ותואב םיליעפה תונולחה לכל

(win95/98/NT) השקבה רוקמ תא ליכמ wParam

( win95/98-ב קר) תכרעמה תא רגוס וא logoff השוע שמתשמה םאה ןייצמ lParam
WM_QUERYENDSESSION
.ולש ירוקמה לדוגה תא רזחשל ןולחהמ שקבמ שמתשמה רשאכ

םירטמרפ ןיא העדוהל
WM_QUERYOPEN
.תאצל "הצור" תונולחשכ ,הדובע תא םייסל תשקבתמ הנכותה רשאכ

PostquitMessage היצקנופהמ לבקתנש האיצי דוק ליכמ wParam
WM_QUIT
.םיוסמ ןולחל טסקט חולשל תשקבמ היצקילפאה

שומישב אל 0 - ליכמ wParam

טסקטה תזורחמ תבותכ תא ליכמ lParam
WM_SETTEXT
.רתסומ וא יולג תויהל דמוע ןולחה רשאכ

רתסומ/יולג - ינאילוב ךרע ליכמ wParam

:ןוגכ סוטטס ךרע ליכמ lParam
SW_OTHERUNZOOM, SW_OTHERZOOM SW_PARENTCLOSING, SW_PARENTOPENING
WM_SHOWWINDOW
.הנתשה ןולחה לש לדוגה רשאכ

:הלדגהה גוס תא ןתונ wParam
SIZE_MAXHIDE, SIZE_MAXIMIZED, SIZE_MAXSHOW SIZE_MINIMIZED, SIZE_RESTORE
:םיקלח ינשל קלוחמ lParam
ןולחה לש טנילקה רוזיא בחור תא ליכמ HIWORD
ןולחה לש טנילקה רוזיא הבוג תא ליכמ LOWORD
WM_SIZE
API-ה תויצקנופ י"ע ותוא ורייציש "שקבמ" והשלכ ןולח רשאכ
.RedrawWindow-ו UpdateWindow :תואבה

םירטמרפ ןיא העדוהל
WM_PAINT