Ինչպես ստեղծել Windows պատուհան

Բովանդակություն:

Ինչպես ստեղծել Windows պատուհան
Ինչպես ստեղծել Windows պատուհան

Video: Ինչպես ստեղծել Windows պատուհան

Video: Ինչպես ստեղծել Windows պատուհան
Video: Թոփ 5 նախապես տեղադրված օգտակար Windows ծրագրեր 2024, Սեպտեմբեր
Anonim

Windows ընտանիքի գործառնական համակարգերի օգտագործողի ինտերֆեյսի գործունեության սկզբունքները հիմնված են պատուհանի գաղափարի վրա: Աշխատասեղանը, առաջադրանքի տողը, ցուցակները, երկխոսությունները, կոճակները, ընտրացանկերը բոլորը պատուհաններ են: Հետեւաբար, փաստորեն, ինտերֆեյսի ցանկացած տարր ցուցադրելու համար հարկավոր է ստեղծել պատուհանների պատուհան:

Ինչպես ստեղծել Windows պատուհան
Ինչպես ստեղծել Windows պատուհան

Անհրաժեշտ է

  • - կազմող;
  • - Windows Platform SDK:

Հրահանգներ

Քայլ 1

Անհրաժեշտության դեպքում գրանցեք ստեղծվելիք պատուհանի դասը: Makeանգահարեք API գործառույթներին RegisterClass, RegisterClassEx կամ օգտագործեք օգտագործվող շրջանակի համապատասխան ֆունկցիոնալությունը:

RegisterClass- ը և RegisterClassEx- ի գործառույթները, որպես իրենց միակ պարամետր, ընդունում են համապատասխանաբար WNDCLASS և WNDCLASSEX տիպի կառույցների ցուցիչները: Պատուհան ստեղծելու ժամանակ ATOM տիպի վերադարձի արժեքը կարող է օգտագործվել դասի անվան տեղում: Եթե գործառույթի զանգը ձախողվում է, վերադարձի արժեքը 0 է:

Գործարկել WNDCLASS կամ WNDCLASSEX տիպի կառուցվածքը: Լրացրեք բոլոր անհրաժեշտ դաշտերը: Մասնավորապես, ճիշտ արժեքները պետք է տեղադրվեն հետևյալի մեջ.

- cbSize - կառուցվածքի չափը բայթերում;

- ոճ - ոճերի ամբողջություն պատուհանի դասի համար;

- lpfnWndProc - ցուցիչ դեպի պատուհանի ընթացակարգ;

- hInstance- ը մոդուլի բռնիչ է, որում գրանցված է պատուհանի դասը.

- lpszClassName- ը դասի խորհրդանշական անունն է:

Մնացած դաշտերը կարող են գրվել NULL արժեքներով: Պատուհանի դասը գրանցելու համար գործառույթի զանգ կատարեք: Ստուգեք վերադարձված արդյունքը:

Քայլ 2

Անհրաժեշտության դեպքում ընտրեք առկա պատուհանի դասը: Դուք պետք է իմանաք դասի խորհրդանշական անունը (այն գրանցելիս lpszClassName ցուցիչի միջով անցածը) կամ համապատասխան ATOM արժեքը: Դասը կարող է լինել տեղական ՝ կիրառման մակարդակում, գլոբալ ՝ դիմումի մակարդակում (գրանցված է CS_GLOBALCLASS դրոշով) կամ համակարգի դաս: Վերջին տեսակը ներառում է պատուհանների դասեր `անուններ` կոճակ, ComboBox, Խմբագրել, ListBox, MDIClient, ScrollBar, Static: RichEdit20W կամ SysListView32 դասերի նման գրանցվում են, երբ համապատասխան գրադարանները բեռնվում են:

Քայլ 3

Ստեղծեք Windows- ի պատուհան: Օգտագործեք CreatWindow, CreateWindowEx կամ API գործառույթները, որոնք օգտագործում եք շրջանակի կամ գրադարանի դասի օբյեկտների համար: CreateWindowEx գործառույթի նախատիպն ունի այսպիսի տեսք.

HWND CreateWindowEx (DWORD dwExStyle, LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int n Լայնությունը, int n Բարձրությունը, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam);

CreateWindow գործառույթը տարբերվում է CreatWindowEx- ից միայն dwExStyle պարամետրի բացակայության պայմաններում:

Callանգահարեք CreateWindow կամ CreateWindowEx: LpClassName պարամետրում փոխանցեք պատուհանի դասի անունը կամ ATOM արժեքը, որը դուք սահմանել եք առաջին կամ երկրորդ քայլում: X, y, nWidth, nHeight պարամետրերը կարող են լինել ստեղծվող պատուհանի կոորդինատներն ու չափերը: Պատուհանի ծնողի բռնակը (եթե այդպիսին է) փոխանցվում է hWndParent- ով:

Պահպանեք և վերլուծեք CreatWindow- ի կամ CreateWindowEx- ի կողմից վերադարձված արժեքը: Հաջողության դեպքում նրանք բռնակը կվերադարձնեն նոր պատուհանի, ձախողման դեպքում ՝ NULL:

Խորհուրդ ենք տալիս: