Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отменить Perform(WM_SYSCOMMAND,SC_DRAGMOVE, 0) 
V
    Опции темы
SerK
Дата 24.12.2009, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вопрос следующий:

при нажатии мыши компонент может перемещаться с помощью такого кода:

 
Код

const int SC_DRAGMOVE = 0xF012;
ReleaseCapture();
 pcomp->Perform(WM_SYSCOMMAND,SC_DRAGMOVE, 0);


Как мне отменить это перемещение?


--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
mrbrooks
Дата 24.12.2009, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(SerK @  24.12.2009,  02:13 Найти цитируемый пост)
Как мне отменить это перемещение? 

если вопрос идет об возвращении на исходное положение - то либо сохранять первоначальные настройки контрола, либо использовать технологию Drag&Drop.

Это сообщение отредактировал(а) mrbrooks - 24.12.2009, 10:29
PM MAIL   Вверх
artsb
Дата 24.12.2009, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



SerK, в каком смысле отменить перемещение? Вернуть компонент на место? Или вообще, запретить его перемещать? Или ещё что?


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
SerK
Дата 24.12.2009, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(artsb @  24.12.2009,  09:37 Найти цитируемый пост)
в каком смысле отменить перемещение? Вернуть компонент на место? Или вообще, запретить его перемещать? Или ещё что?


- когда мне надо, запретить перемещение, т.е, в определенный момент отменить перемещение, чтобы компонент нельзя было бы перемещать. 


--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
mrbrooks
Дата 24.12.2009, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(SerK @  24.12.2009,  10:56 Найти цитируемый пост)
когда мне надо, запретить перемещение, т.е, в определенный момент отменить перемещение, чтобы компонент нельзя было бы перемещать.

обычно при перемещении контрола по форме (в MouseDown )делают так:
Код

 if(Shift.Contains(ssAlt))
{ 
 ReleaseCapture();
 pcomp->Perform(WM_SYSCOMMAND,0xF102, 0);
}


то есть без нажатия на alt (по выбору) перемещения не будет
PM MAIL   Вверх
SerK
Дата 25.12.2009, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



mrbrooks,

спасибо, понял - нужно ставить флаг.




--------------------
Пусть будет миру хорошо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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