גודל ה CLIENT ב WIN32

D a n y K

New member
גודל ה CLIENT ב WIN32

יצרתי את החלון כך:
hWnd = CreateWindowEx(WS_EX_OVERLAPPEDWINDOW, lpszClassName, "Tetris", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 410, 620, NULL, NULL, hInstance, NULL);​
וכשאני קורא את מימדי החלון כך:
CHAR lpXY[50]; GetClientRect(hWnd, &rect); wsprintf(lpXY, "%d", rect.right - rect.left); strcat(lpXY, "\n"); OutputDebugString(lpXY); wsprintf(lpXY, "%d", rect.bottom - rect.top); strcat(lpXY, "\n"); OutputDebugString(lpXY);​
אני מקבל ערכים קטנים יותר - 582 ,398 עכשיו השאלה היא לאן הם נעלמו ? האם הכוונה ב CREATEWINDOW שזה כולל את פס הכותרת , אם כן אז האם הגודל הזה יורד באופן קבוע ?
 

Zack DA

New member
תעשה עוד ניסוי, עם עוד ערכים,

ותוכל מהר מאוד לקבוע לבד, אם כל פעם יורד ערך קבוע...
 

D a n y K

New member
כן יורדים אותם ערכים

אז כנראה שזה ככה 38 יורדים בגובה ו 12 ברוחב
 

Zack DA

New member
נכון.

ותראה, אפשר לראות את זה מאוד יפה, בגבולות שמתווספים.
 

voguemaster

New member
כך זה עובד

כי גודל החלון כשאתה יוצר אותו כולל בתוכו את הגבולות, ה-TITLE BAR והתפריט אם יש. קרא על GetSystemMetrics
 
למעלה