Windows ailəsinin əməliyyat sistemlərinin istifadəçi interfeysinin işləmə prinsipləri bir pəncərə konsepsiyasına əsaslanır. Masa üstü, tapşırıq paneli, siyahılar, informasiya qutuları, düymələr, menyular hamısı pəncərələrdir. Buna görə əslində hər hansı bir interfeys elementini göstərmək üçün bir windows pəncərəsi yaratmalısınız.
Zəruri
- - tərtibçi;
- - Windows Platforması SDK.
Təlimat
Addım 1
Lazım gələrsə yaradılacaq pəncərənin sinifini qeyd edin. API funksiyalarına bir zəng edin RegisterClass, RegisterClassEx və ya istifadə olunan çərçivənin uyğun funksiyasından istifadə edin.
RegisterClass və RegisterClassEx funksiyaları, sırasıyla WNDCLASS və WNDCLASSEX tipli strukturlara göstəriciləri tək parametr olaraq qəbul edirlər. Pəncərə yaradarkən, ATOM növünün qaytarma dəyəri sinif adının yerinə istifadə edilə bilər. Funksiya çağırışı uğursuz olarsa, qaytarma dəyəri 0 olur.
WNDCLASS və ya WNDCLASSEX tipli bir quruluşu hazırlayın. Bütün lazımi sahələri doldurun. Xüsusilə, düzgün dəyərlər aşağıdakılara yerləşdirilməlidir:
- cbSize - strukturun bayt şəklində ölçüsü;
- stil - pəncərə sinfi üçün bir sıra üslub;
- lpfnWndProc - pəncərə proseduruna işarə;
- hInstance, pəncərə sinfinin qeydiyyata alındığı modulun sapıdır;
- lpszClassName, sinfin simvolik adıdır.
Qalan sahələr NULL dəyərləri ilə yazıla bilər. Pəncərə sinifini qeyd etmək üçün bir funksiya çağırışı edin. Qaytarılmış nəticəni yoxlayın.
Addım 2
Zəruri hallarda mövcud bir pəncərə sinifini seçin. Simvolik sinif adını (qeyd edərkən lpszClassName göstəricisindən keçən) və ya müvafiq ATOM dəyərini bilməlisiniz. Sınıf tətbiq səviyyəsində yerli, tətbiq səviyyəsində qlobal (CS_GLOBALCLASS bayrağı ilə qeydiyyatdan keçmiş) və ya sistem sinfi ola bilər. Son tipə adları olan Windows sinifləri daxildir: Button, ComboBox, Edit, ListBox, MDIClient, ScrollBar, Static. RichEdit20W və ya SysListView32 kimi siniflər müvafiq kitabxanalar yükləndikdə qeyd olunur.
Addım 3
Windows pəncərəsi yaradın. İstifadə etdiyiniz çərçivə və ya kitabxananın sinif obyektləri üçün API funksiyalarından CreateWindow, CreateWindowEx və ya uyğun sarma metodlarından istifadə edin. CreateWindowEx funksiyası üçün prototip belə görünür:
HWND CreateWindowEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int n genişlik, int nHündürlük, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);
CreateWindow funksiyası CreateWindowEx-dən yalnız dwExStyle parametrinin olmaması ilə fərqlənir.
CreateWindow və ya CreateWindowEx-ə zəng edin. LpClassName parametrinə birinci və ya ikinci addımda təyin etdiyiniz pəncərə sinfinin adını və ya ATOM dəyərini daxil edin. Parametrlər x, y, nWidth, nHeight yaradılan pəncərənin koordinatları və ölçüləri ola bilər. Üst pəncərə dəstəyi (varsa) hWndParent vasitəsilə ötürülür.
CreateWindow və ya CreateWindowEx tərəfindən qaytarılmış dəyəri saxla və təhlil et. Uğurda yeni pəncərəyə bir qolu qaytaracaqlar; uğursuzluqda NULL.