Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблема с перетаскиванием окна [D7, WinXP]


ярослав ©   (2007-04-19 06:08:00) 

Народ, х-е-е-е-е-е-лп! Делаю игру "змейка" на дельфи, с      кодом  проблем нет, но я для красоты сделал нестандартную форму со скругленными краями, и , соответственно,  обрезал Caption Bar. Форма, теперь, естественнно, не перетаскивается, а мне это необходимо! Кто что может посоветовать?


Робинзон   (2007-04-20 10:21:00) [1]

Кстати вариант {RASkov}  мне больше нравится. В основном я его использую.


Робинзон   (2007-04-20 10:16:00) [2]

Подобный пример расматривался в Королевстве
Вот код
в  private опиши процедуру

       procedure WMNCHitTest(var M:TWMNCHitTest);message wm_NCHitTest;
 

procedure TForm1.WMNCHitTest(var M: TWMNCHitTest);
begin
 inherited;
 if M.Result = htClient then
   M.Result := htCaption;
end;


{RASkov}   (2007-04-19 12:55:00) [3]

Как вариант:
На OnMouseDown для всех контролов "за которые" собираешся "таскать" форму, включая саму форму, пропиши вот это:
begin
 ReleaseCapture;
 Perform(WM_SYSCOMMAND, $F012, 0);
end;


clickmaker   (2007-04-19 09:24:00) [4]

WM_NCHITTEST
если мышь в том месте, за которое хочешь таскать, возвращай HTCAPTION


Наверх

Титульная страница Поиск, карта сайта Написать письмо