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 — при изменении (в т.ч. в процессе перетаскивания).
Что лучше — определяется задачей |
 |