Parcan

|
Posted: Mon Mar 21, 2005 19:38 Post subject: |
|
|
SCHMaster
CaptainFlint
посмотрел я эти функции все они возвращают логические размеры, у меня дошло до смешного: создаю окно назначаю ему шрифт размером 12 получаю высоту 16, назначаю ему шрифт размером 20, получаю высоту 16, где я лажаю, писал примерно так:
HFONT hFont12 = ::CreateFont(12, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, "MS Sans Serif");
HFONT hFont20 = ::CreateFont(20, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_ROMAN, "MS Sans Serif");
HWND MyWnd = ::CreateWindow("STATIC", "", WS_CHILD, rcClient.left, rcClient.top, rcClient.right - rcClient.left, rcClient.bottom - rcClient.top, hwndParent, NULL, hInst, NULL);
SIZE MyTextSize12 = {0, 0};
::SendMessage(MyWnd, WM_SETFONT, (WPARAM)hFont12, MAKELPARAM(FALSE, 0));
::SendMessage(MyWnd, WM_SETTEXT, 0, (LPARAM)"hello");
::GetTextExtentPoint32(GetDC(MyWnd), "hello", strlen("hello"), &MyTextSize12);
SIZE MyTextSize20 = {0, 0};
::SendMessage(MyWnd, WM_SETFONT, (WPARAM)hFont20, MAKELPARAM(FALSE, 0));
::SendMessage(MyWnd, WM_SETTEXT, 0, (LPARAM)"hello");
::GetTextExtentPoint32(GetDC(MyWnd), "hello", strlen("hello"), &MyTextSize20);
получаю в обоих случаях
MyTextSize12.cx == 16
MyTextSize20.cx == 16
а шрифты то я назначал окну разные
где я неправ? |
|