Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 12:15   #1
Bigtyoma
Пользователь
 
Аватар для Bigtyoma
 
Регистрация: 02.07.2008
Сообщений: 68
По умолчанию Перемещение формы

Здравствуйте, у меня возникла проблема, у меня в программе форма находиться в углу, где трей(это для того чтоы на любом разрешении она всегда была в углу), вот такой код:
Цитата:
Form1.Left:=Screen.Width - Form1.Width;
Form1.Top:=Screen.Height - Form1.Height;
подскажите мне, как можно сделать чтобы форма перемещалась, или какой нибудь другой код чтобы форма была в углу, но можно было её передвигать по своему усмотрению
Bigtyoma вне форума Ответить с цитированием
Старый 31.03.2009, 12:24   #2
oleg kutkov
Unix C++ developer
Форумчанин
 
Аватар для oleg kutkov
 
Регистрация: 16.04.2007
Сообщений: 651
По умолчанию

Честно говоря не очень понял Ваш вопрос.
У вас форма не перемещается стандартными средствами в следствие того, что у нее borderstyle = none ? Или по какой то другой причине ?
oleg kutkov вне форума Ответить с цитированием
Старый 31.03.2009, 12:25   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

НАверное автор хочет двигать форму схватив ее мышой в любом месте формы?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 31.03.2009, 13:57   #4
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
Сообщение

посмотри эту програмку.. там реализовано перетаскивание формы мышью за любое место.. сохранение и чтение из файла параметров местоположения окна и параметров шрифта..
Вложения
Тип файла: rar Cloc.rar (10.3 Кб, 61 просмотров)
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 31.03.2009, 15:27   #5
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Помоему всё проще делается
На OnMouseDown по тому месту, что хотите двигать:
Код:
ReleaseCapture;
perform(WM_SysCommand, $F012, 0);
Если нужно "растягивать" форму, то -
Вправо
Код:
ReleaseCapture;
Perform ( WM_SYSCOMMAND, SC_SIZE + HTRIGHT - 9, 0 );
Влево
Код:
ReleaseCapture;
Perform ( WM_SYSCOMMAND, SC_SIZE + HTLEFT - 9, 0 );
Вверх
Код:
ReleaseCapture;
Perform ( WM_SYSCOMMAND, SC_SIZE + HTTOP - 9, 0 );
Вниз
Код:
ReleaseCapture;
Perform ( WM_SYSCOMMAND, SC_SIZE + HTBOTTOM - 9, 0 );
Вроде так
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 31.03.2009, 23:16   #6
Bigtyoma
Пользователь
 
Аватар для Bigtyoma
 
Регистрация: 02.07.2008
Сообщений: 68
По умолчанию

Цитата:
Сообщение от Dj_smart Посмотреть сообщение
На OnMouseDown по тому месту, что хотите двигать:
Код:
ReleaseCapture;
perform(WM_SysCommand, $F012, 0);
ну это не всегда работает, вот у меня например на форме RzBorder он не перемещает, а вот по коду из приложения Cloc всё работает нормально)
Bigtyoma вне форума Ответить с цитированием
Старый 31.03.2009, 23:34   #7
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

есть форма, в ней обрабатываем события маузДовн, маузМув, маузАп, на форме есть компоненты (в программе Clok у меня там 3 лейбла) у них обрабатываем те же события..
чтобы по 100 раз не писать одно и то же пришем сначала обработчик событий (написаных выше) формы потом выделяем все компоненты и в инспекторе обьектов на вкладке Events выставляем для компонентов тот же обработчик события что и у формы.. надеюся меня поняли.. а кто не понял не поленитесь пошевелить пальцами и посмотреть как это реализовано в приграмме Cloc..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 31.12.2009, 23:47   #8
Casper-SC
Форумчанин
 
Регистрация: 04.07.2007
Сообщений: 549
По умолчанию

Вообще никаких проблем:
Код:
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  ReleaseCapture;
  SendMessage(Form1.Handle, WM_NCLBUTTONDOWN, HTCAPTION,0);
end;
Casper-SC вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перемещение формы Черничный Общие вопросы Delphi 11 10.12.2009 11:06
Перемещение формы??? lionman Общие вопросы Delphi 20 22.04.2009 17:43
перемещение формы CraZZy RabbIt Общие вопросы Delphi 1 16.03.2009 01:38
Перемещение формы за компонент Zeraim Общие вопросы Delphi 2 20.05.2008 09:26
Delphi, перемещение формы. north Помощь студентам 3 23.01.2008 22:34