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