
הטקסט המלא של הדקות הראשונות בהרצאה «בניית explorer של וונדוס מאפס - חלק 2» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
טוב ההרצאה הקודמת נקטעה לנו בלי כוונה אז אנחנו פשוט נמשיך מאותה נקודה יפה אז הלכנו לכאן ואנחנו רוצים לכתוב פה win main בואו נראה מה אומר לי על win main win main function זה lpstr וזהו ככה היא צריכה להיראות בלי c ובלי w ובואו ננסה להרליץ אותה נראה שזה רץ תלמדו לעבוד בשלבים וזה עובד יפה מאוד טוב אז יפה מאוד. מה שאנחנו אבל נרצה לעשות זה
להציג דיאלוג. כי בעצם כל דבר צריך להיות דיאלוג. אז בואו נגיד לו דיאלוג. קונטרול רווח. דיאלוג בוקס אינדירקט פראם, נכון? או אינדירקט אינדירקט. בואו נראה את אינדירקט.
אינדירקט כן, לא מקבלת כלום. אז אינדירקט פראם וקונטרול שיפט יופי. זה היה הכי יפה, אז זה איזה אינסטנס לא ניתן לו, שייצג והטמפלייט, תכף ניתן לו את מה, אמרנו אתמול שזה קאסטינג לסטרינג של ה-ID של ה-resource של הדיאלוג, אז קאסטינג לסטרינג, נכון זה LPC לונג פוינטר ל-C דיאלוג טמפלייט, טמפלייט W,
משום מה אתמול עשינו איזה קאסטינג לסטרינג, זה אמור להיות סטרינג, טוב תכף נחזור לזה, נעזוב את זה כרגע, נעביר בינתיים אפס, והפארנט אין לנו והדיאלוג פאנק זה יהיה דיאלוג פאנק והפרמטר אין לנו פרמטר, יפה מאוד, ומה שצריך זה רק את הדיאלוג פאנק בואו ניתן לו long std call dialogue punk שמקבלת hwnd hwnd uint msg wparam wparam ונשכבה את זה רק נשנה את זה ל-L ול-N וסוגר
יפה וסטארט וגו אנטר ואנטר אנטר ו-Return 0 זה קונטרול בילד ו-Convert את מי? את פרמטר 4 1, 2, 3, 4 דיאלוג פאנק מה רע בדיאלוג פאנק?
דיאלוג פרוק משהו לא בסדר עם דיאלוג פרוק בוא נראה די-אל-ג'י פרוק מה זה די-אל-ג'י פרוק די-אל-ג'י פרוק נרחף מעליו מול יור טייפ דף של אינט לא לונג אינט בסדר שיהיה אינט כמו זה היה לונג לא אינט וטפ אינטו בוא נראה אם זה אוכל no די-אל-ג'י פרוק בוא נעיף אותה ושוב יפה עדיין יש לנו בעיה שאין לנו בכלל טמפלייט
אז זה שנייה אחת אוקיי בואו נראה מה זה הפרמטר הזה lpc ונותן לו lpcdlgtemplatewf12 call dlgtemplate וgo to definitions אספרקט שלם בואו ננסה בלי indirect וקונטרול שיפט רבע, או הרבה יותר טוב קוראים לזה lpc רוצה קאסטינג לסטרינג מצוין אוקיי אז נעשה
לקאסטינג סטרינג לסטרינג lpcwstr lpcwtskr עדיף t אם יש לו יש לו מצוין זה פשוט t זה גם w וגם אנסי יפה למה אני יכול פה לשים 0 כדי שזה יתקמפל אבל אני צריך לתת לו את ה-resource אני רוצה לוסיף ריסורס, אז בואו נוסיף ריסורס.
וואי אם אני ואד ריסורס, אני רוצה להוסיף ריסורס. אני רוצה דיאלוג, שימו לב שיש בו כמה דיאלוגים דיפולטיביים שאני יכול כבר להוסיף.
דיאלוג בר, פורם ויו ועולה ועולה ופרופרטי פייג' לאן אצבור בדי פייג' מניו. אני אקח דיאלוג רגיל, ניו. נחכה לו שיעלה, יפה אז הוא עלה. צריך קצת להקטין אותו.
הוא נותן לי להקטין? לא, הוא לא נותן לי כי הכפתורים על מולי, נתקע לי באיזשהו שלב, לא נתקע לי, אבל שמאלו הוא לא לוקח, שמאלו הוא לא לוקח כי זה מפריע. בסדר, תכלס, אני לא צריך את שני הכפתורים האלה, אז בוא נצא מהם cut.
יפה, וואלה, זה אפשר להקטין קצת, מצוין, יפה. השאלה היא מה ה-ID שלו. פה כתוב לי שהוא ID דיאלוג, כף תחתון דיאלוג, כאילו זה הוא IDD כף תחתון דיאלוג, יפה, אז IDD, דיאלוג קונטרול רווח למה הוא לא מוצא אותו כי הוא נמצא פה ב-resource yes זה
אז צריך לעשות include כמו של זה קונטרול cv ל-resource ל-resource שלהם אני יכול פשוט לגרור לסמן את זה לגרור את זה לא נותן את זה קליק על זה וקופי יותר טוב אי אפשר לכתוב כבר ימני וטקסט יפה מאוד וקונטרול רווח ולנצור את הריצה וקונטרול רווח יפה משלים יפה ונשים פה breakpoint ונריץ no מה הבעיה
resource knowledge file or directory resource.h כן כשמחפש בספריות הסטנדרטיות אנחנו רוצים לחפש בספרייה המקומית והרת.
נחכה לו, ואני אגיד לו רוץ. יפה, אז הוא מגיע לכאן. עכשיו אם אני אגיד לו פשוט להחזיר, פשוט לרוץ, נשים את הברק פוינט, תן לו פשוט לרוץ, אז הנה הדיאלוג, יפה מאוד, מצוין.
אז סיימנו את השלב הראשון. השלב הבא שאנחנו רוצים לטפל בו זה אולי להציג טקסטבוקס, לאפשר למשתמש לרשום נתיב, וכפתור go ו-list view.
בואו נתחיל פשוט עם טקסטבוקס, זה כפתור, ורק נציג את זה במסג'בוקס. אז בואו נוסיף כאן טקסטבוקס. אה, הוא לא נסגר. יכול לטפל בזה בגירה.
כדי להיסגר, אז אנחנו נבדוק אם msg שווה ל-wm-close, אם זה קלוז, אז מה נעשה? ברגע שאנחנו מיד רוצים לסגור, אז איך סוגרים?
פוסט קוויט מסאג' עם איזשהו ערך תגרום לנו לאפור להסתיים יפה בוא נגיד לו רוט מן ההתחלה ודרך אגב הוא לא משנה גודל הוא לא ריסייזבול צריך לטפל בזה וסגור וזה מסתיים טוב בהזדמנות נעשה אותו ריסייזבול יפה מאוד אוקיי אז בואו נוסיף עכשיו בואו נסגור את זה ונסגור את זה ובואו נוסיף נחזור ל-resource נחזור ל-resource נחזור
לדיאלוג דיאלוג ובואו נוסיף את הטקסטבוקס שלנו טקסטבוקס אין פה אבל אמרנו שיש בו אדיט אותו דבר אדיט אני אשים את זה פה וקצת מגדיל אותו אבל גם נצטרך כפתור ניקח כפתור נשים את הכפתור כאן השאלה היא האם אני יכול לגרום לו מראש להיצמד לכל מיני נקודות במרחב אם הוא יכול להגיד אותי אנקורד ימינה לא ידוע לי שיש לו אנקורד בואו נחפש רגע כרגע אם אני אשנה את הגודל אה
הוא נצמד זה מעניין איזה שהוא נצמד הרי הייתם רוצים שגם זה יצמד טוב מה זה לא לא עשיתי כלום אם אני שם אותו פה אני מניח שהוא לא יצמד ואיך שמצמידים אותו לצד אז הוא נצמד ולא נשים את זה עד הסוף ואת זה נשים פה ואז נראה שהם עובדים יפה ואוקיי אז זה אוקיי וזה ייתן לנו קרפשן שלו יהיה גו אנטר אפשר טיפה להקטין אותו יפה ואז כיוזר עושה על זה דאבל קליק אז אנחנו רוצים למלא ליטר דבר
ראשון בואו נציג רק מסג'בוק אז אם אני אעשה עליו דאבל קליק הוא יפתח לי את זה זה לא מעניין מה שקשור ל mfc לא מעניין כדי לשדך אותו עם האפליקציה אני צריך לשים לב למזהה שלו IDC בטן 1 כאן בקוד שלנו אנחנו צריכים לטפל ב-IDC בטן 1 אז if msg שווה ל-wm תתעלמו בבקשה command ctrl f וגור enter f וגור enter enter אז אז אם הלאו וורד אם
המילה התחתונה המילה התחתונה זה בסך הכל של w פרם w פרם המילה המילה התחתונה שלו זה 0x555 זו המילה התחתונה אז אם המילה התחתונה שלו שווה לidctroledit או לא באטן בא אין לו באטן אז מה היה idcבטן למה הוא לא מכיר אותו idcבטן כאילו עוד לא שמענו בואו נעשה ctrl+shift+s נשמור גם את השני ואז ctrl יפה משלים אותו אז אם זה ה-button אז אנחנו רוצים להציג את
הטקסט שבתוך ה-edit. אז צריך לקבל את הטקסט שבתוך ה-edit. ואיך מקבלים? למה זה קפץ? איך מקבלים את הטקסט שבתוך ה-edit? צריך להגיד לו get dlg item יש גם int יש אבל טקסט תן לי את הטקסט של ה-hdlg אין לנו hdlg בואו נשנה די אנג'י די אנג'י די אנג'י והאיי די של האדיט איי די סי אדיט קונטרול רווח והסטרינג הוא ימלא לי את הסטרינג הזה צריך
להגיד לו מה הגודל שלו יפה ופה הוא יגיד לי הוא יחזיר לי uint לא יודע מה זה ה uint הזה בואו נבדוק נחזיר uint תמיד תמיד טוב לקבל בחזרה uint u שווה ואני רוצה את הגודל אז אם אני רוצה להקצות מערך נכון בעצם אני צריך להקצות פה מערך t t-char יש דבר כזה t-char כנראה שכן לא לא הנה t-char הוא קיבל t-char t-char אני רוצה את s תנא s מערך ואני אאפס אותו באפסים עכשיו
זה מערך של אפסים לעומת אגב זה שזה רק התא הראשון הוא 0, null terminal string באיזונות אחרת ובגודל len. אם אני אגיד, אה, אחוואר, לא נתרמתי את האחוואר, עכשיו אני מבין למה הוא כיבד לי את ההרצאה, לא, הפד, הפד דלק, פן.
טוב, פה אני אגיד לו, אם אני אגיד לו אם len שווה ל-1000 ותמיד תשתמשו ב-1000 ונעשה לו a control shift b, נעשה לו build, אז הוא יצא אקסטרקטית קונסטנט אקסטרקטי פה חייב לבוא קונסטנט אז או שתכתבו פה אלף או שתכתבו פה קונס יפה ואז לן לן לן מצויין לא כדאי להשתמש באלף אלף כי אם מחר תשנו את זה למאה זה עלול להישאר אלף אם תאכלו אותה יפה