mhabat
شنبه 25 آبان 1392, 19:34 عصر
با سلام.
این کد رو بینید:
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CHAR:
{
if(wParam==VK_ESCAPE)
SendMessage(hwnd,WM_CLOSE,0,0);
return 0;
}
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDC;
char szBuffer[]="1111111111111";
hDC=BeginPaint(hwnd,&ps);
TextOut(hDC,50,50,(LPCWSTR)szBuffer,strlen(szBuffe r));
EndPaint(hwnd,&ps);
return 0;
}
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc (hwnd, message, wParam, lParam);
}
چند تا سوال داشتم:
1-
WM_PAINT برای چه کاریه ؟من نمی فهمم.
به جز این 3 تا case ممکن هست که case های دیگه یی هم وجود داشته باشه؟
اگه آره آدرس بدین.
2-این قسمت رو هم متوجه نمیشم:
return DefWindowProc (hwnd, message, wParam, lParam);
3- این قسمت چه کاری رو انجام میده:
PostQuitMessage(0);
؟
4- این قسمت چه کاری رو انجام میده؟:
EndPaint(hwnd,&ps);
5-این قسمت رو هم بگین چه کاری رو انجام میده:
SendMessage(hwnd,WM_CLOSE,0,0);
ممنون میشم قسمت های بالا رو بگین چه کاری انجام میدن.
تشکر.
این کد رو بینید:
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_CHAR:
{
if(wParam==VK_ESCAPE)
SendMessage(hwnd,WM_CLOSE,0,0);
return 0;
}
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hDC;
char szBuffer[]="1111111111111";
hDC=BeginPaint(hwnd,&ps);
TextOut(hDC,50,50,(LPCWSTR)szBuffer,strlen(szBuffe r));
EndPaint(hwnd,&ps);
return 0;
}
case WM_DESTROY:
{
PostQuitMessage(0);
return 0;
}
}
return DefWindowProc (hwnd, message, wParam, lParam);
}
چند تا سوال داشتم:
1-
WM_PAINT برای چه کاریه ؟من نمی فهمم.
به جز این 3 تا case ممکن هست که case های دیگه یی هم وجود داشته باشه؟
اگه آره آدرس بدین.
2-این قسمت رو هم متوجه نمیشم:
return DefWindowProc (hwnd, message, wParam, lParam);
3- این قسمت چه کاری رو انجام میده:
PostQuitMessage(0);
؟
4- این قسمت چه کاری رو انجام میده؟:
EndPaint(hwnd,&ps);
5-این قسمت رو هم بگین چه کاری رو انجام میده:
SendMessage(hwnd,WM_CLOSE,0,0);
ممنون میشم قسمت های بالا رو بگین چه کاری انجام میدن.
تشکر.