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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2011, 00:29   #1
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
Счастье выделение мышью

есть форма, пользователь жмен левой кнопкой мыши и , не отпуская кнопки, тянет курсор, при это рисуется прямоугольник.
1) как нарисовать этот прямоугольник?
2) как узнать его размер (длина, высота) и начальные координаты x и y?
codermoder вне форума Ответить с цитированием
Старый 13.02.2011, 02:16   #2
MadReason
Ищу работу
Форумчанин
 
Аватар для MadReason
 
Регистрация: 16.02.2007
Сообщений: 269
По умолчанию

Код:
var
  Form1: TForm1;
  xd,yd:integer;
  pr:boolean=false;

implementation

{$R *.dfm}

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  xd:=x;
  yd:=y;
  pr:=true;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  pr:=false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if pr then
  Canvas.Rectangle(xd,yd,x,y);
end;

end.
с размерами думаю разберешься сам
Пишу на Delphi все что угодно, недорого, красиво, с комментариями
###icq 107335###
MadReason вне форума Ответить с цитированием
Старый 13.02.2011, 11:24   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Почему нельзя поискать то? На предыдущей странице есть топик, как создать SelectBox
http://programmersforum.ru/showthread.php?t=136630
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 13.02.2011, 11:36   #4
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

думаю вы ето ишите
http://www.delphisources.ru/pages/fa...rectangle.html
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 13.02.2011, 12:54   #5
CepbIu
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 91
По умолчанию

я делал когда то такое, при этом я использовал 33-е прерывание(int 33h), писал на турбо паскале
проверял какая кнопка нажата, получал координаты, и уже с помощью graph рисовал
CepbIu вне форума Ответить с цитированием
Старый 13.02.2011, 13:48   #6
codermoder
Пользователь
 
Регистрация: 22.06.2010
Сообщений: 48
По умолчанию

большое спасибо MadReason
то что нужно!

еще вопрос.
я поставил у формы прозрачность, как сделать чтобы прямоугольник рисовался все равно ярко?
как сделать прозрачный фон у прямоугольника? если делаю так
Цитата:
Canvas.Brush.Style:=bsClear;
то прямоуголник рисуется с множеством линий "внутри"?

Последний раз редактировалось Stilet; 13.02.2011 в 15:04.
codermoder вне форума Ответить с цитированием
Старый 21.04.2011, 20:32   #7
Freddy_Kruger
 
Регистрация: 17.03.2011
Сообщений: 9
По умолчанию

Ууу... При таких методах тебе нужно каждый раз очищать canvas.
Freddy_Kruger вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Управлне мышью. Maddy Помощь студентам 5 22.04.2010 17:56
Поворот за мышью??? Kostia Gamedev - cоздание игр: Unity, OpenGL, DirectX 34 29.06.2009 15:02
работа с мышью! _Timon Помощь студентам 1 20.01.2009 23:29