Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

создании окна, как диалог из ресурса   Найти похожие ветки 

 
Dima_1st   (2003-01-03 01:02) [0]

Проблемка при создании окна, как диалог из ресурса, не верные размеры окна.
В RC файле имеем:

LANGUAGE LANG_RUSSIAN,0

MAIN_DIALOG DIALOG 0, 0, 100, 100
CLASS "Sample1WndClass"
CAPTION "Sample1"
FONT 8, "MS Sans Serif"
LANGUAGE LANG_RUSSIAN , 0
{
}


Т.е. размер окна по идее должен быть 100x100.
Теперь создаем это окно :


var

hWnd : THandle;
MainWndClass : TWndClassEx;
...

FillChar(MainWndClass, SizeOf(TWndClassEx), 0);
With MainWndClass Do
Begin
cbSize := sizeof(MainWndClass);
style := cs_hredraw Or cs_vredraw;
lpfnWndProc := @MainWindowProc;
cbClsExtra := 0;
cbWndExtra := DLGWINDOWEXTRA;
hInstance := hInstance;
hIcon := 0;
hCursor := LoadCursor(0, idc_arrow);
hbrBackground := COLOR_BTNFACE + 1;
lpszMenuName := Nil;
lpszClassName := "Sample1WndClass";
End;
RegisterClassEx(MainWndClass);
hWnd := CreateDialog(hInstance, "MAIN_DIALOG", 0, Nil);
ShowWindow(hWnd, SW_SHOW);
...


Окно прекрасно появилось, но его размер НЕ 100x100 ! -

Размер клиенской области : 150x163, всего окна 156x188 !

Проверял GetWindowRect и GetClientRect.

Еще проще убедится в неверности размера нарисовав в окне прям-к размера 100x100. В чем ошибка ?


 
Suntechnic ©   (2003-01-03 03:00) [1]

100x100 это не в пикселях, а в условных единицах т.н. dialog units. Это сделано для того, чтобы не привязывать размеры окна к конкретной контексту в котором это окно создается(адаптер, монитор и т.д.). Для того чтобы перевести из dialog units в пиксели используется ф-ция MapDialogRect.


 
Dima_1st   (2003-01-03 11:35) [2]

Огромное спасибо, просто привык что все всегда в pix.



Страницы: 1 вся ветка

Текущий архив: 2003.02.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.027 c
1-38268
Витал
2003-02-04 12:20
2003.02.13
Сортировка файлов проекта в Project Manager Delphi7


6-38406
Kent
2002-12-19 16:16
2003.02.13
Как отладить ISAPI библиотеку для IIS 5.0


14-38551
Stager
2003-01-26 22:02
2003.02.13
Поиск утечек памяти


14-38478
Туся
2003-01-30 11:14
2003.02.13
ICQ бесплатно


14-38477
panov
2003-01-10 19:01
2003.02.13
Что-то совсем скучно.....................