Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.10.2011, 11:35
BIG_BO BIG_BO вне форума
Прохожий
 
Регистрация: 09.10.2010
Сообщения: 29
Репутация: 10
По умолчанию Помогите с прогой

есть квадрат. нужно реализовать чтобы когда курсор был на угле. то можно было тянуть за этот угол
квадрат я нарисовал
Вложения
Тип файла: rar lab2.rar (51.0 Кбайт, 7 просмотров)
Ответить с цитированием
  #2  
Старый 12.10.2011, 16:06
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Код:
При нажатии мыши:
если координаты мыши около угла
  ставим глобальный флаг, сохраняем координаты мыши

При движении мыши:
если флаг
  из текущих координат мыши вычитаем сохраненные, получаем на сколько передвинулась мышь
  изменяем размер квадрата на новый используя эти значения

При отпускании мыши:
снять флаг
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #3  
Старый 12.10.2011, 16:09
BIG_BO BIG_BO вне форума
Прохожий
 
Регистрация: 09.10.2010
Сообщения: 29
Репутация: 10
По умолчанию

так тяжело. примерчик бы
Ответить с цитированием
  #4  
Старый 12.10.2011, 22:17
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

У тебя столько ляпов в программе, что для начала их исправь. К примеру:
Код:
procedure MyNCPaint(Wnd : HWND; Msg: UINT; wParam, lParam : Longint);
var
  R, R1   : TRect;
  ps      : TPaintStruct;
  Context : HDC;
  Font    : HFONT;
  Pen     : HPEN;
  Brush   : HBRUSH;
begin
  Context := GetWindowDC(Wnd);
  GetClientRect(Wnd, R);

  SelectObject(Context, Pen);    // А ты создавал?
  selectobject(context, brush);  // А ты создавал?

  ExtFloodFill(context, 0, 50, brush, FLOODFILLSURFACE);

  DeleteObject(pen);             // Удаляем несозданное?
  DeleteObject(brush);           // Удаляем несозданное?

  Ellipse(Context, 600, 0, 630, 30);
  Font := CreateFont(30, 50, 0, 0, FW_Normal, 0, 0, 0,
    DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY,
    DEFAULT_PITCH, 'Tahoma');
  SelectObject(Context, Font);
  DrawText(Context, 'Hey Arnold', -1, R, DT_LEFT);

  DeleteObject(Font);         // Удаляем выбранный в контекст объект?
  ReleaseDc(hwnd, context);
end;
и это, только маленькая толика из всех ляпов.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 14.10.2011, 17:13
BIG_BO BIG_BO вне форума
Прохожий
 
Регистрация: 09.10.2010
Сообщения: 29
Репутация: 10
По умолчанию

буду исправлять
Ответить с цитированием
  #6  
Старый 02.12.2011, 14:25
BIG_BO BIG_BO вне форума
Прохожий
 
Регистрация: 09.10.2010
Сообщения: 29
Репутация: 10
По умолчанию

все еще требуется решение
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 12:43.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025