Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Событие на перемещение формы, За заголовок 
V
    Опции темы
Mpak
Дата 8.4.2008, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



В общем то сабж smile
Просто не могу понять.. как это событие обозвали?
Координаты хочу получить текущие, и потом установить новые smile

Это сообщение отредактировал(а) Mpak - 8.4.2008, 08:50


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
PPS05
Дата 8.4.2008, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 6.11.2005
Где: Беларусь, Минск

Репутация: нет
Всего: 7



Стандартно не реализовано. В WinApi существуют сообщения мыши WM_NCMOUSEMOVE, WM_NCMOUSEDOWN - может поможет. А вот событий именно для перемещения окна я не знаю.


--------------------
Ушел с форума и не вернулся.
PM MAIL ICQ   Вверх
mrbrooks
Дата 8.4.2008, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



WM_WINDOWPOSCHANGING (возникает перед перемещением), 
WM_WINDOWPOSCHANGED (возникает после перемещения), или 
WM_MOVE (возникает после перемещения)
PM MAIL   Вверх
korian
Дата 8.4.2008, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

Репутация: 3
Всего: 17



на OnResize поидее надо вешаться
PM   Вверх
mrbrooks
Дата 8.4.2008, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Вдогонку что бы особо башку не ломал:

в классе формы 
Код

unit1.h
......
private:
.....
void __fastcall FormMove(TWMMove &msg);
BEGIN_MESSAGE_MAP
      MESSAGE_HANDLER(WM_MOVE, TWMMove, FormMove)
END_MESSAGE_MAP(TForm)
.....



Код

unit1.cpp
....
void __fastcall TForm1::FormMove(TWMMove &msg);
{
Caption = String(msg.XPos) +":" + String(msg.YPos);
}
.....


с остальными сообщениями работать по тойже технологии

Добавлено через 2 минуты и 46 секунд
Цитата(korian @ 8.4.2008,  12:46)
на OnResize поидее надо вешаться

Это только по идеи имхо. Я даже боюсь представить какой будет алгоритм  smile 
Уж если чуваки из M$ подарили нам стандартные обработчики событий лучше их юзать. smile 
PM MAIL   Вверх
Mpak
Дата 8.4.2008, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Всем спасибо, пошел пробовать smile


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
Mpak
Дата 12.4.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Спасибо, все замечательно работает! smile 
опечатка в 3-й строке. в конце не надо ";", это же уже *.cpp файл  smile 
Цитата(mrbrooks @  8.4.2008,  15:50 Найти цитируемый пост)
Код

unit1.cpp
....
void __fastcall TForm1::FormMove(TWMMove &msg);
{
Caption = String(msg.XPos) +":" + String(msg.YPos);
}
.....

с остальными сообщениями работать по тойже технологии




--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
mrbrooks
Дата 12.4.2008, 16:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Mpak @ 12.4.2008,  16:34)
Спасибо, все замечательно работает! smile 
опечатка в 3-й строке. в конце не надо ";", это же уже *.cpp файл  smile 
Цитата(mrbrooks @  8.4.2008,  15:50 Найти цитируемый пост)
Код

unit1.cpp
....
void __fastcall TForm1::FormMove(TWMMove &msg);
{
Caption = String(msg.XPos) +":" + String(msg.YPos);
}
.....

с остальными сообщениями работать по тойже технологии

Точно. Вот что копи-паст творит  smile 
PM MAIL   Вверх
iilisav
Дата 19.3.2009, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Здравствуйте!
Делаю как указано в примере выше, компилируется нормально, но при запуске выдает ACCESS VIOLATION на строчке MESSAGE_HANDLER(WM_MOVE, TWMMove, FormMove) подскажите пожалуйста в чём тут дело? Заранее спасибо.

Добавлено через 1 минуту и 54 секунды
К выше указаному примеру добавлял только 

void __fastcall TForm1::FormMove(TWMMove &msg);
{

   Caption = String(msg.XPos) +":" + String(msg.YPos);
   frmTestForWork->Top = frmMain->Top + 67;
   frmTestForWork->Left = frmMain->Left + 5;

}

PM MAIL   Вверх
Domain
Дата 25.4.2010, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 11.3.2010

Репутация: нет
Всего: нет



а как например при перемещении в этот момент сделать окно полупрозрачным, а потом вернуть его в нормальное состояние? интересно это реально на bcb организовать?
PM MAIL   Вверх
mrbrooks
Дата 26.4.2010, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



у формы есть свойства AlpaBlend & AlpaBlendValue.
Соответственно перед перемещением (WM_WINDOWPOSCHANGING) 
Код

AlpaBlend = true;
AlpaBlendValue = 125;

После перемещения (WM_WINDOWPOSCHANGED) 
Код

AlpaBlend = true;
AlpaBlendValue = 255;

Гуд лак!
PM MAIL   Вверх
Dem_max
Дата 27.4.2010, 16:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1780
Регистрация: 12.4.2007

Репутация: 14
Всего: 39



вот еще

Присоединённый файл ( Кол-во скачиваний: 9 )
Присоединённый файл  1.ZIP 5,29 Kb


--------------------
Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte")
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.