Re[2]: Измен. НЕклиентской части окна
От: SergeySV2  
Дата: 17.02.04 07:50
Оценка:
Здравствуйте, Frostbitten, Вы писали:

Большое спасибо за подробные объяснения, а то так вроде догадываешься, а твердой уверенности что все делаешь правильно и главное почему именно так надо делать — нет

Хотел только для себя уточнить последний непонятный момент в описании:
>>Возвращаемые значения
Если параметр fCalcValidRects — ЛОЖЬ(FALSE), прикладная программа должна возвратить нуль. Если fCalcValidRects — ИСТИНА (TRUE), прикладная программа может возвратить нуль или допустимую комбинацию следующих значений:
WVR_ALIGNTOP, WVR_ALIGNLEFT, WVR_ALIGNBOTTOM, WVR_ALIGNRIGHT — Эти значения, используемые в комбинаци-ях, определяют, что рабочая область окна должна сохраниться и выравниваться соот-ветственно относительно новой позиции окна. Например, чтобы выровнять рабочую область по левому нижнему углу, возвратите значения WVR_ALIGNLEFT и WVR_ALIGNTOP.
............
..........

Вопрос как я могу вернуть эти значения? Класс окна я использую стандартный "STATIC", а окнную процедуру перегружаю используя subclassing, в конце обработки сообщений я соотв. пишу:
WindowProc = CallWindowProc(lpPrevWndProc, hWnd, uMsg, wParam, LParam) — передаю сообщению в окон. процедуру по умолч.
Если я хочу вернуть какую-то конкретную константу, это мне надо делать так что-ли?:
......
Case WM_NCCALCSIZE
WindowProc = WVR_ALIGNLEFT
Call CallWindowProc(lpPrevWndProc, hWnd, uMsg, wParam, LParam)
End Function


Не посоветуете ли хорошую книгу или обзор статей по созданию/управлению окнами в windows
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.