כיצד ליצור חלון של Windows

תוכן עניינים:

כיצד ליצור חלון של Windows
כיצד ליצור חלון של Windows

וִידֵאוֹ: כיצד ליצור חלון של Windows

וִידֵאוֹ: כיצד ליצור חלון של Windows
וִידֵאוֹ: כיצד לתקן את בעיות ההפעלה של Windows 10 2024, מאי
Anonim

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

כיצד ליצור חלון של Windows
כיצד ליצור חלון של Windows

נחוץ

  • - מהדר;
  • - פלטפורמת Windows SDK.

הוראות

שלב 1

רשום את המחלקה של החלון שייווצר, במידת הצורך. התקשר לפונקציות ה- API RegisterClass, RegisterClassEx או השתמש בפונקציונליות המתאימה של המסגרת בה נעשה שימוש.

הפונקציות RegisterClass ו- RegisterClassEx מקבלות מצביעים על מבנים מסוג WNDCLASS ו- WNDCLASSEX, בהתאמה, כפרמטר היחיד שלהם. ניתן להשתמש בערך ההחזר מסוג ATOM במקום שם הכיתה בעת יצירת חלון. אם קריאת הפונקציה נכשלת, ערך ההחזרה הוא 0.

מייצב מבנה מסוג WNDCLASS או WNDCLASSEX. מלא את כל השדות הדרושים. בפרט, יש למקם את הערכים הנכונים ב:

- cbSize - גודל מבנה בתים;

- style - סט סגנונות לשיעור החלונות;

- lpfnWndProc - מצביע על נוהל חלון;

- hInstance היא הידית של המודול בו נרשמת מחלקת החלונות;

- lpszClassName הוא השם הסמלי של הכיתה.

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

שלב 2

בחר בכיתת חלונות קיימת במידת הצורך. עליכם לדעת את שם המחלקה הסמלי (זה שעבר דרך מצביע lpszClassName בעת רישומו) או את ערך ה- ATOM המתאים. המחלקה יכולה להיות מקומית ברמת היישום, גלובלית ברמת היישום (רשומה בדגל CS_GLOBALCLASS) או בכיתת המערכת. הסוג האחרון כולל מחלקות של חלונות עם שמות: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. כיתות כגון RichEdit20W או SysListView32 נרשמות כאשר טוענים את הספריות המתאימות.

שלב 3

צור חלון של Windows. השתמש בפונקציות ה- API CreateWindow, CreateWindowEx או בשיטות העטיפה המתאימות לאובייקטים בכיתה של המסגרת או הספריה שבה אתה משתמש. אב הטיפוס לפונקציה CreateWindowEx נראה כך:

HWND CreateWindowEx (DWORD dwExStyle,

LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndPorent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);

הפונקציה CreateWindow שונה מ- CreateWindowEx רק בהעדר הפרמטר dwExStyle.

התקשר ל- CreateWindow או CreateWindowEx. העבירו בפרמטר lpClassName את השם או את ערך ה- ATOM של מחלקת החלון שהגדרתם בשלב הראשון או השני. הפרמטרים x, y, n רוחב, n גובה יכולים להיות הקואורדינטות והגדלים של החלון שנוצר. ידית חלון האב (אם בכלל) מועברת דרך hWndParent.

שמור ונתח את הערך שהוחזר על ידי CreateWindow או CreateWindowEx. בהצלחה, הם יחזירו ידית לחלון החדש; כשלהם, NULL.

מוּמלָץ: