Tempus |
Отправлено: 19.05.2005, 10:57 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
Не подскажите, как отследить, что форма переместилась?
Знаю, что это кажись WM_MOVE Message, но с API практически не работал... |
|
Guest |
Отправлено: 19.05.2005, 11:18 |
|
Не зарегистрирован
|
QUOTE |
Не подскажите, как отследить, что форма переместилась?
|
Вариант
Запомнить старые координаты и обработать OnPaint.
|
|
xim |
Отправлено: 19.05.2005, 11:21 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
CODE |
class TMyForm : TForm
{
...
MESSAGE void __fastcall WMMove(Messages::TWMMove &Message);
...
__published:
BEGIN_MESSAGE_MAP
VCL_MESSAGE_MAP(WM_MOVE,TWMMove,WMMove);
END_MESSAGE_MAP(TForm);
...
};
MESSAGE void __fastcall TMyForm::WMMove(Messages::TWMMove &Message)
{
// пишем обработчик
}
| |
|
Tempus |
Отправлено: 19.05.2005, 11:27 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
Спасибо, понял. |
|
Gedeon |
Отправлено: 19.05.2005, 11:36 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Я это делал с помощь WM_WINDOWPOSCHANGED
|
|
Tempus |
Отправлено: 19.05.2005, 13:42 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 14
|
WM_WINDOWPOSCHANGED, как я понимаю, наступает после изменения коррдинат, а WM_MOVE? |
|
Gedeon |
Отправлено: 19.05.2005, 14:47 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
А почитать?
|
|
Guest |
Отправлено: 19.05.2005, 14:56 |
|
Не зарегистрирован
|
Можно и почитать (API help), просто конкретно сейчас его нет под рукой.
А вообще согласен — вопрос про то когда наступает то или иное событие тут не нужен — в любом случае, спасибо за пример, дальше можно и самому разобраться :-)) |
|
xim |
Отправлено: 19.05.2005, 16:32 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 143
|
WM_WINDOWPOSCHANGED отрабатывает только после изменения позиции, WM_MOVE — при изменении (в т.ч. в процессе перетаскивания).
Что лучше — определяется задачей |
|