|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Янв 29, 2003 14:49:59 Как сделать так чтобы окно нельзя было растянуть за нижний правый угол? |
|
|
Дата: Янв 29, 2003 15:56:58 Перекреститься и плюнуть три раза через левое плечо. WM_GETMINMAXINFO WM_SIZE |
|
|
Дата: Янв 29, 2003 16:10:34 ... я тут новый , можно поконкретней пожалуйста :) |
|
|
Дата: Янв 29, 2003 17:40:36 Аноним Он имеет ввиду, что не отдавать процедуре DefaultWndProc не передавать WM_GETMINMAXINFO WM_SIZE |
|
|
Дата: Янв 29, 2003 18:01:17 ... а пример кода пожалуйста :) |
|
|
Дата: Янв 29, 2003 18:04:15 Ну что вы :(( какой тут пример case WM_SIZE: return 0; |
|
|
Дата: Янв 29, 2003 18:28:11 ... я правильно понял ? .elseif uMsg==WM_SIZE ret .elseif uMsg==WM_GETMINMAXINFO ret .else invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .endif |
|
|
Дата: Янв 29, 2003 18:34:37 Аноним Думаю да!! Попробуйте!!! |
|
|
Дата: Янв 29, 2003 18:37:21 ... хватаю за нижний угол и всетаки тянется ! :(( |
|
|
Дата: Янв 29, 2003 18:42:38 In case of WM_GETMINMAXINFO you have to fill the structure at lParam with a values - just return does not do it. Besides, why go to such extreme? Easier to remove WS_THICKFRAME style when creating a window. Or you need the window to be resized by other means, like dragging the top or left border? If so, try to override WM_SIZING (wParam should be WMSZ_BOTTOMRIGHT). |
|
|
Дата: Янв 29, 2003 18:53:53 ... а как мне отменить WS_THICKFRAME стиль при создании окна если я его и не заказывал. mov wc.cbSize,SIZEOF WNDCLASSEX mov wc.style, NULL mov wc.lpfnWndProc, OFFSET WndProc mov wc.cbClsExtra,NULL mov wc.cbWndExtra,NULL push Instance pop wc.hInstance mov wc.hbrBackground,COLOR_WINDOW+1 mov wc.lpszMenuName,IDM_MAINMENU mov wc.lpszClassName,OFFSET ClassName invoke LoadIcon,NULL,IDI_APPLICATION mov c.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW mov c.hCursor,eax invoke RegisterClassEx,addr wc INVOKE CreateWindowEx,\ NULL,ADDR ClassName,\ ADDR AppName,WS_OVERLAPPEDWINDOW ,\ 450,300,\ 260,200,\ NULL,NULL,\ hInst,NULL |
|
|
Дата: Янв 29, 2003 19:04:10 SetWindowLong() тебе поможет!!! |
|
|
Дата: Янв 29, 2003 21:29:45 Причём тут SetWindowLong? Всё дело в стиле WS_OVERLAPPEDWINDOW. Замени его на WS_SYSMENU+... не включая WS_THICKFRAME, тогда размеры окна нельзя будет менять. |
|
|
Дата: Янв 29, 2003 23:11:59 Hail SetWindowLong()! Without it there is no C++ (or ASM++) in Win32!!! If serious... try instead of WS_OVERLAPPEDWINDOW this one: WS_OVERLAPPEDWINDOW And (Not WS_THICKFRAME) |
|
|
Дата: Янв 30, 2003 06:09:48 Аноним Уточните. Не позволить менять размеры окна (достаточно "правильно" обработать WM_GETMINMAXINFO) или менять размеры окна только за правый нижний угол? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.072 |