Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/30: Рейтинг темы: голосов - 30, средняя оценка - 4.97
92 / 59 / 8
Регистрация: 09.11.2011
Сообщений: 443

Пареметры Perform(WM_SYSCOMMAND, XXXXXX , 0)

15.02.2012, 13:05. Показов 6202. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем!
Как известно этот код...
Delphi
1
2
ReleaseCapture;
panel.Perform(WM_SYSCOMMAND, $F012, 0);
перетаскивает объект вслед за мышкой.

А если необходимо по-другому изменить объект то ему стоит послать тоже самое сообщение только с параметрами:
$F001 - для изменения только левой границы
$F002 - для изменения только правой границы
$F003 - для изменения только верхней границы
$F004 - для изменения левой и верхней границы
$F005 - для изменения правой и верхней границы
$F006 - для изменения только нижней границы
$F007 - для изменения правой и нижней границы
$F008 - для изменения правой и нижней границы

Вопрос: Как совместить $F003 и $F006???
Хочу чтобы объект(панель) могла перемещаться только вверх и вниз, те менялись только верхняя и только нижняя границы.
Пробовал OК AND XOR и просто складывал
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.02.2012, 13:05
Ответы с готовыми решениями:

SendMessage(Hwnd, WM_SYSCOMMAND, SC_MAXIMIZE, 0);
Добрый день) вот прочитал в инете что функция SendMessage разворачивает окно... решил попробовать.... а программа не компилируется...

Как сделать чтобы при формировании запроса выводились определенные пареметры дат
Уважаемые форумчане, подскажите, как сделать следующее. Сделан запрос. В данном запросе происходит выборка по трем значениям. Как сделать...

16 bit MS-DOS Subsystem С:/windows/svchost.exe The NTVDM CPU has encountered an illegal instruction CS:xxxxxx ID:xxx OP:xx xx xx xx Choose'Close' to
Привет. помогите устранить ошибку 16 bit MS-DOS Subsystem С:/windows/svchost.exe The NTVDM CPU has encountered an illegal...

6
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
15.02.2012, 17:07
Delphi
1
panel1.Perform(WM_SYSCOMMAND, $F003 or $F006, 0);
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
15.02.2012, 17:17
Цитата Сообщение от anonimus Посмотреть сообщение
Delphi
1
panel1.Perform(WM_SYSCOMMAND, $F003 or $F006, 0);
так, как хочет ТС, не работает. панель тупо меняет размеры без перемещения
0
 Аватар для anonimus
2184 / 1255 / 143
Регистрация: 28.04.2010
Сообщений: 4,592
15.02.2012, 17:48
ну да, тогда вот такой вариант 100% рабочий
Delphi
1
y0:integer;
Delphi
1
2
3
4
5
procedure TForm1.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
y0:=y;
end;
Delphi
1
2
3
4
5
6
7
8
9
10
procedure TForm1.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var p:tpoint;
begin
if ssleft in Shift then begin
   GetCursorPos(p);
   Panel1.Top:=p.y-GetSystemMetrics(SM_CYCAPTION)-top-4-y0;
end;
 
end;
двигается только верх - вниз
0
92 / 59 / 8
Регистрация: 09.11.2011
Сообщений: 443
15.02.2012, 18:54  [ТС]
Да я тоже сделал уже с использованием MouseMove MouseDown MouseUp
Хотел более короткий код с Perform-ом
0
Житель Земли
 Аватар для DenNik
3004 / 3026 / 390
Регистрация: 26.07.2011
Сообщений: 11,465
Записей в блоге: 1
15.02.2012, 19:01
Цитата Сообщение от Cheb Посмотреть сообщение
Да я тоже сделал уже с использованием MouseMove MouseDown MouseUp
Хотел более короткий код с Perform-ом
переопредели обработку сообщения WM_MOVE для панели
0
92 / 59 / 8
Регистрация: 09.11.2011
Сообщений: 443
16.02.2012, 07:57  [ТС]
ну да, наверное это самое то.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.02.2012, 07:57
Помогаю со студенческими работами здесь

Ошибка Access violation at address XXXXXXX in module 'vcl240.bpl'. Read of address XXXXXX
Доброго времени суток. Проблема следующая: при определенной последовательности действий в приложении вылетает ошибка, работа приложения...

Не работает метод perform
Здравствуйте. Захотел сделать перетаскивание Form, если BorderStyle = bsNone. Почитал на форумах нашёл такой метод: procedure...

Ошибка Cannot perform this operation
срочно сдавать надо

Unable to perform link
Добрый день! Помогите, пожалуйста, разобраться с ошибкой

Error: Unable to perform link
Здравствуйте, форумчане. Вчера скачал купил Embarcadero RAD Studio XE8 Architect 22.0 19027.8951 x86 x64 Все поставилось, без ошибок,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru