WinAPI рдХреЛ рд╕рдордЭрдирд╛

рдпрд╣ рд▓реЗрдЦ рдХрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣реИ?


рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдореИрдВ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╣реВрдВ, рдЬреЛ рд╕рдВрдпреЛрдЧ рд╕реЗ рдпрд╛ рдЗрдЪреНрдЫрд╛ рд╕реЗ, WinAPI рд╕реАрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИред
рдореИрдВ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
рдореИрдВ C ++ рдпрд╛ WinAPI рдореЗрдВ рдЧреБрд░реБ рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ред
рдореИрдВ рдЕрднреА рдЕрдзреНрдпрдпрди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдпреБрдХреНрддрд┐рдпрд╛рдВ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рдирдПрдкреАрдЖрдИ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рддрдВрддреНрд░ рдХреЛ рд╕реАрдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддреЗ рд╣реИрдВред



рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реА + + рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╕реАрдЦ рдЪреБрдХреЗ рд╣реИрдВ рддрд╛рдХрд┐ рд╡реЗ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛ рд╕рдХреЗрдВ рдФрд░ рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд░реЛрдВ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ, рдФрд░ рдпрд╣ рдХрд┐ рдЖрдк рдХрдХреНрд╖рд╛ рдореЗрдВ рдЕрдкрдиреЗ рдХреБрдЫ рддрдВрддреНрд░реЛрдВ рдХреЛ рдкрд╣рд▓реЗ рд╣реА "рдЫрд┐рдкрд╛" рдЪреБрдХреЗ рд╣реИрдВред

рдХрдВрд╕реЛрд▓ рдмрдирд╛рдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛


Win32 рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рд╕рдм рдЕрдВрджрд░ рдХреИрд╕реЗ рд╣реЛрддрд╛ рд╣реИ, рдореИрдВ рд╣рдореЗрд╢рд╛ рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдЪреВрдВрдХрд┐ рдЖрдк GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрдВрд╕реЛрд▓ рдирд╣реАрдВ, рдХрдВрд╕реЛрд▓ рдХрдиреЗрдХреНрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рдзрдиреБрд╖ рдореЗрдВ рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреЛрдб рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛

if (AllocConsole())
{
int hCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), 4);
*stdout = *(::_fdopen(hCrt, "w"));
::setvbuf(stdout, NULL, _IONBF, 0);
*stderr = *(::_fdopen(hCrt, "w"));
::setvbuf(stderr, NULL, _IONBF, 0);
std::ios::sync_with_stdio();
}
. :
void CreateConsole()
{
if (AllocConsole())
{
int hCrt = _open_osfhandle((long)GetStdHandle(STD_OUTPUT_HANDLE), 4);
*stdout = *(::_fdopen(hCrt, "w"));
::setvbuf(stdout, NULL, _IONBF, 0);
*stderr = *(::_fdopen(hCrt, "w"));
::setvbuf(stderr, NULL, _IONBF, 0);
std::ios::sync_with_stdio();
}


рдХрдВрд╕реЛрд▓ рдХрдВрд╕реЛрд▓ рдХреЗрд╡рд▓ рдЖрдЙрдЯрдкреБрдЯ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ - cout / wcoutред
рдЗрд╕ рдХреЛрдб рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
# рдЕрд▓рдЧ рдХрд░рдирд╛ <fcntl.h>
# рдЕрд▓рдЧ рдХрд░рдирд╛
рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдореЗрдВ std рдирд╛рдо рд╕реНрдерд╛рди рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ:
рдирд╛рдо рд╕реНрдерд╛рди std рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛;
рдмреЗрд╢рдХ, рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЙрди рд╕рднреА рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ std рдЬреЛрдбрд╝реЗрдВ: рдЬреЛ рдЗрд╕рдореЗрдВ рд╣реИрдВред

рдЖрдЙрдЯрдкреБрдЯ рдФрд░ рдПрд░рд┐рдердо рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЗрдирд╣реЗрд░рд┐рдЯреЗрдВрд╕ред рд╕рдВрдЪрд╛рд▓рди


рд╕реНрд╡рдпрдВ "рд╡рд┐рдВрдбреЛ" рдмрдирд╛рддреЗ рдФрд░ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╕рдордп, рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреБрдЫ рдореВрд▓реНрдп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
рдЖрдкрдХреЛ GetClientRect рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛ рдХреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП RECT рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдкрддрд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдкреНрд░рд╛рдкреНрдд рдЧреНрд░рд╛рд╣рдХ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдЖрдХрд╛рд░ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рдХрдиреЗрдХреНрдЯреЗрдб рдХрдВрд╕реЛрд▓ рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

cout<<rect.right<<endl<<rect.bottom<<endl;

рд▓реЗрдХрд┐рди рд╣рд░ рдмрд╛рд░ рдРрд╕рд╛ рдХрд░рдирд╛ (рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ) рдмрд╣реБрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпрд╣рд╛рдБ, рд╡рд┐рд░рд╛рд╕рдд рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрддреА рд╣реИред
рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ рдЬреЛ рдЦреБрд▓реЗ рд░реВрдк рд╕реЗ RECT рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ << рдЬреИрд╕рд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

class newrect:public RECT
{
public:
friend ostream& operator<<(ostream &strm,newrect &rect)
{
strm<<"Prtint RECT object:\n";
strm<<rect.right<<endl<<rect.bottom<<endl;
return strm;
}
};


рдЕрдм рд╕рд┐рд░реНрдл cout / wcout рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ:

cout<<nrect;

рдФрд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдм рдХреБрдЫ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдк рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреЗ рдХрд┐рд╕реА рднреА рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдпрд╛ рдЕрд╕рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЪрд▓реЛ рдПрдХ рд╣реА RECT рдпрд╛ POINT рдХрд╣рддреЗ рд╣реИрдВ) - рдЕрдзрд┐рднрд╛рд░ рдСрдкрд░реЗрдЯрд░ == () рдФрд░ рдСрдкрд░реЗрдЯрд░ = (), рдХреНрд░рдорд╢рдГред
рдпрджрд┐ рдЖрдк рдПрдХ рдЫреЛрдЯреЗ рдСрдкрд░реЗрдЯрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ <рддреЛ рдЬрд▓реНрджреА рд╕реЗ рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЖрдХрд╛рд░, рдЖрджрд┐ рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВред рдЕрдзрд┐рднрд╛рд░ рдСрдкрд░реЗрдЯрд░ <()ред
рддреЛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рд╕рднреА рдХрд╛рд░реНрдп рдЬреЛ RECT рд╕рдВрд░рдЪрдирд╛ рдХреА рдПрдХ рдирд┐рдпрдорд┐рдд рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рдЙрд╕рдХреЗ рд╡рдВрд╢ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдФрд░ рдореИрдВ рдпрд╣ рднреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд╕рднреА рд╕реБрдВрджрд░рддрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдЦреБрдж рдХреА рдХреНрд▓рд╛рд╕


рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рджреВрд╕рд░реЗ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рд░рд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдзреНрдпрдпрди рдореЗрдВ рдпрд╛ рдкреБрд╕реНрддрдХ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдзреНрдпрд╛рдп / рдЕрдзреНрдпрд╛рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рд╕рдорддрд▓ рдкрд░ рд╣реЛ рдФрд░ рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдордп рд╡рд╛рдкрд╕ рдЖ рд╕рдХреЗрдВ рдФрд░ рд╕реНрдореГрддрд┐ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░ рд╕рдХреЗрдВред ред
рдЪреВрдВрдХрд┐ WinAPI рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЦрд┐рдбрд╝рдХреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рднрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕реЗ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдПрдХ рддреБрдЪреНрдЫ рдЦрд┐рдбрд╝рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рддреАрд╕рд░реА рдпрд╛ рдЪреМрдереА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдпрд╛рдж рдЖрдпрд╛ рдХрд┐ рдореИрдВ рдЕрднреА рднреА C ++ рдореЗрдВ рд▓рд┐рдЦ рд░рд╣рд╛ рдерд╛ред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡рд░реНрдЧ рдореЗрдВ рд╕рдм рдХреБрдЫ рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ред рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓, рдЙрд╕рдХрд╛ рдирд╛рдо, рдХреНрд▓рд╛рд╕ рдХрд╛ рдирд╛рдо, рд╡рд┐рдВрдбреЛ рдкреНрд░реЛрд╕реИрд╕ рдПрдбреНрд░реЗрд╕, рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ (WNDCLASS) рд╕рднреА рдХреНрд▓рд╛рд╕ рдХреЗ рдкреНрд░рд╛рдЗрд╡реЗрдЯ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдЫрд┐рдкреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд░рд▓ рдЧреЗрдЯ-рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ:
HWND GetHWND ()
LPCTSTR GetClsName (), рдЖрджрд┐ред
рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХреЛ рднрд░рдирд╛ рдФрд░ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛, рд╡рд┐рдВрдбреЛ рдХреЛ рд╕реНрд╡рдпрдВ рдмрдирд╛рдирд╛ рдФрд░ рджрд┐рдЦрд╛рдирд╛ рдпрд╣ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдЕрдзрд┐рднрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рдЬреА рдХреНрд▓рд╛рд╕ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдУрд╡рд░рд▓реЛрдбрд┐рдВрдЧ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрднреА-рдХрднреА рдореБрдЭреЗ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдореИрдВ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ - рд╡рд┐рдВрдбреЛ рдХрд╛ рдирд╛рдо рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╣рд┐рдирд╕реНрдЯреЗрдВрд╕ред
рджреВрд╕рд░реА рдмрд╛рд░ рдореБрдЭреЗ рд╡рд┐рд╢реЗрд╖ рдЖрдпрд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдВрдбреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдФрд░ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реИрд▓реА рдХреЗ рд╕рд╛рде - рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рд╕рд╛рде рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВред
рдпрд╣ рд╡рд░реНрдЧ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╕реЗ рд╢рд╛рдорд┐рд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЖрдИрдбреАрдИ рдХреЗ рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред
рдЗрд╕ рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЯреЗрдореНрдкреНрд▓реЗрдЯ:
class BaseWindow
{
WNDCLASSEX _wcex;
TCHAR _className[30];
TCHAR _windowName[40];
HWND _hwnd;
bool _WindowCreation();
public:
BaseWindow(LPCTSTR windowName,HINSTANCE hInstance,DWORD style,UINT x,UINT y,UINT height,UINT width);
BaseWIndow(LPCTSTR windowName,HINSTANCE hInstance);
const HWND GetHWND()const{return HWND;}
LPCTSTR GetWndName()const{return _windowName;}
};


рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдкрдиреЗ рдзреНрдпрд╛рди рд╕реЗ рд╕реЛрдЪрд╛ рдФрд░ рдРрд╕реА рдХрдХреНрд╖рд╛ рд▓рд┐рдЦреА, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд▓реЗрдВрдЧреЗ рдФрд░ рдЖрдк рд╣рд░ рдмрд╛рд░ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рд▓рд┐рдЦрдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдкрдиреЗ рдХреМрд╢рд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рд╕рдореНрдорд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рд╕рдорд░реНрдкрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреА рдХрдХреНрд╖рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдЗрд╕реЗ рдкреВрд░рдХ рдХрд░рддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ


рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рд╕рдЪ рд╣реИ:
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - рд╡рд┐рдВрдбреЛрдЬ 7 32 рдмрд┐рдЯ
рдЖрдИрдбреАрдИ - рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдиреЗ рдЗрди рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╣рдБрд╕реА рдФрд░ рд╡рд┐рдбрдВрдмрдирд╛ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рд╣рдо рд╕рднреА рдПрдХ рдмрд╛рд░ рдХреБрдЫ рдирд╡рд╛рдЧрдВрддреБрдХ / рдкреНрд░рд╢рд┐рдХреНрд╖реБ / рдЬреВрдирд┐рдпрд░'рдЖрдореА рдереЗред
рдореИрдВ рдЖрдкрд╕реЗ рдкреЛрд╕реНрдЯ рдХреЛ рд╕рдордЭ рдХреЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реВрдВред рд░рдЪрдирд╛рддреНрдордХ рдЖрд▓реЛрдЪрдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реИред

Source: https://habr.com/ru/post/In130093/


All Articles