የዊንዶውስ መስኮት እንዴት እንደሚፈጠር

ዝርዝር ሁኔታ:

የዊንዶውስ መስኮት እንዴት እንደሚፈጠር
የዊንዶውስ መስኮት እንዴት እንደሚፈጠር

ቪዲዮ: የዊንዶውስ መስኮት እንዴት እንደሚፈጠር

ቪዲዮ: የዊንዶውስ መስኮት እንዴት እንደሚፈጠር
ቪዲዮ: ከንፈራችን ሳይበላሸ እንዴት መቀባት እንችላለን 2024, ህዳር
Anonim

የዊንዶውስ ቤተሰብ ስርዓተ ክወናዎች የተጠቃሚ በይነገጽ አሠራር መርሆዎች በመስኮት ፅንሰ-ሀሳብ ላይ የተመሰረቱ ናቸው ፡፡ ዴስክቶፕ ፣ የተግባር አሞሌ ፣ ዝርዝሮች ፣ መገናኛዎች ፣ አዝራሮች ፣ ምናሌዎች ሁሉም መስኮቶች ናቸው ፡፡ ስለዚህ ፣ በእውነቱ ፣ ማንኛውንም የበይነገጽ አካል ለማሳየት የዊንዶውስ መስኮት መፍጠር ያስፈልግዎታል ፡፡

የዊንዶውስ መስኮት እንዴት እንደሚፈጠር
የዊንዶውስ መስኮት እንዴት እንደሚፈጠር

አስፈላጊ

  • - አጠናቃሪ;
  • - የዊንዶውስ መድረክ SDK.

መመሪያዎች

ደረጃ 1

አስፈላጊ ከሆነ የሚፈጠረው የዊንዶው ክፍል ይመዝግቡ ፡፡ ለኤፒአይ ተግባራት ጥሪ ያድርጉ RegisterClass ፣ RegisterClassEx ወይም ጥቅም ላይ የዋለውን ማዕቀፍ ተገቢውን ተግባር ይጠቀሙ ፡፡

የ “RegisterClass” እና የ “RegisterClassEx” ተግባራት እንደ ‹WNDCLASS› እና ‹WNDCLASSEX› መዋቅሮች ጠቋሚዎችን እንደ ብቸኛ ልኬታቸው ይቀበላሉ ፡፡ የአይቲኤም አይነት የመመለሻ ዋጋ መስኮት ሲፈጥር በክፍል ስሙ ምትክ ጥቅም ላይ ሊውል ይችላል ፡፡ የተግባሩ ጥሪ ካልተሳካ የመመለሻው ዋጋ 0 ነው።

የ WNDCLASS ወይም WNDCLASSEX ዓይነት መዋቅርን በፍጥነት ያዘጋጁ ፡፡ ሁሉንም አስፈላጊ መስኮች ይሙሉ። በተለይም ትክክለኛዎቹ እሴቶች በ ውስጥ መቀመጥ አለባቸው-

- cbSize - የመዋቅር መጠን በባይቶች;

- ዘይቤ - ለዊንዶውስ ክፍል የቅጦች ስብስብ;

- lpfnWndProc - ለዊንዶውስ አሠራር ጠቋሚ;

- hInstance የመስኮቱ ክፍል የተመዘገበበት የሞዱል እጀታ ነው ፡፡

- lpszClassName የክፍሉ ምሳሌያዊ ስም ነው ፡፡

የተቀሩት እርሻዎች በ NULL እሴቶች ሊፃፉ ይችላሉ ፡፡ የመስኮቱን ክፍል ለመመዝገብ የተግባር ጥሪ ያድርጉ ፡፡ የተመለሰውን ውጤት ያረጋግጡ ፡፡

ደረጃ 2

አስፈላጊ ከሆነ አንድ ነባር የዊንዶውስ ክፍል ይምረጡ። ምሳሌያዊውን የክፍል ስም (ሲመዘገቡ በ lpszClassName ጠቋሚ በኩል የተላለፈውን) ወይም ተጓዳኝ የ ATOM ዋጋን ማወቅ አለብዎት። ክፍሉ በመተግበሪያው ደረጃ አካባቢያዊ ፣ በመተግበሪያው ደረጃ ዓለም አቀፍ (በ CS_GLOBALCLASS ባንዲራ የተመዘገበ) ወይም በስርዓት ክፍል ሊሆን ይችላል። የመጨረሻው ዓይነት የዊንዶውስ ክፍሎችን ከስሞች ጋር ያጠቃልላል-አዝራር ፣ ኮምቦቦክስ ፣ አርትዖት ፣ ሊስትቦክስ ፣ ኤም.ዲ.ሲ.አይ.ኤል. ፣ ሽብልባር ፣ እስታቲክ ፡፡ ተጓዳኝ ቤተመፃህፍት ሲጫኑ እንደ ሪችኢዲት 20 ዋ ወይም ሲስላይስትቪዬው 32 ያሉ ክፍሎች ይመዘገባሉ ፡፡

ደረጃ 3

የዊንዶውስ መስኮት ይፍጠሩ. ለሚጠቀሙባቸው ማዕቀፍ ወይም ቤተ-መጽሐፍት ለክፍል ነገሮች የኤፒአይ ተግባራትን ፍጠር ዊንዶውስ ፣ ፍጠር ዊንዶውክስ ወይም ተገቢ መጠቅለያ ዘዴዎችን ይጠቀሙ ፡፡ የ “CreateWindowEx” ተግባር ቅድመ-እይታ ይህን ይመስላል

HWND ፍጠር ዊንዶውስ (DWORD dwExStyle ፣

LPCTSTR lpClassName ፣

LPCTSTR lpWindowName ፣

DWORD dwStyle ፣

int x, int y,

int nWidth ፣

int n ቁመት ፣

HWND hWndParent, HMENU hMenu, HINSTANCE h ኢንሴንስ ፣

LPVOID lpParam);

የ ‹WWWStyle› መለኪያው በሌለበት ብቻ የ “CreateWindow” ተግባር ከ “CreateWindowEx” ይለያል።

ፍጠር ዊንዶውስ ወይም ፍጠር ዊንዶውስ ይደውሉ ፡፡ በመጀመሪያው ወይም በሁለተኛ ደረጃ የገለጹትን የዊንዶው ክፍል ስም ወይም የ ATOM እሴት በ lpClassName ግቤት ውስጥ ይለፉ። መለኪያዎች x ፣ y ፣ nWidth ፣ nHeight የሚፈጠሩት የዊንዶው መጋጠሚያዎች እና መጠኖች ሊሆኑ ይችላሉ። የወላጅ የመስኮት እጀታ (ካለ) በ hWndParent በኩል ይተላለፋል።

በ CreateWindow ወይም CreateWindowEx የተመለሰውን እሴት ያስቀምጡ እና ይተንትኑ። በስኬት ላይ አንድ እጀታ ወደ አዲሱ መስኮት ይመለሳሉ ፣ በመጥፋቱ ላይ ፣ NULL።

የሚመከር: