|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
26.04.2011, 18:57 | #1 |
Пользователь
Регистрация: 07.04.2011
Сообщений: 28
|
в чем ошибка???
Объект в дельфи должен передвигаться с помощью мыши...
пожалуйста, подскажите в чем ошибка??? unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; procedure Image1Click(Sender: TObject); procedure TformTImage1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure TFormTImage1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; ax, ay: integer; implementation {$R *.dfm} procedure TForm1.Image1Click(Sender: TObject); begin Image1.Canvas.MoveTo(285+ax,167+ay) ; Image1.Canvas. LineTo(275+ax,157+ay); Image1.Canvas. LineTo(273+ax,168+ay); Image1.Canvas. LineTo(285+ax,167+ay); Image1.Canvas. MoveTo(265+ax,155+ay); Image1.Canvas. LineTo(255+ax,146+ay); Image1.Canvas. LineTo(253+ax,158+ay); Image1.Canvas. LineTo(265+ax,155+ay); Image1.Canvas. MoveTo(290+ax,152+ay); Image1.Canvas. LineTo(280+ax,162+ay); Image1.Canvas. MoveTo(270+ax,140+ay); Image1.Canvas. LineTo(260+ax,150+ay); Image1.Canvas. MoveTo(300+ax,230+ay); Image1.Canvas. LineTo(300+ax,170+ay); Image1.Canvas. MoveTo(350+ax,200+ay); Image1.Canvas. LineTo(180+ax,200+ay); Image1.Canvas. MoveTo(300+ax,200+ay); Image1.Canvas. LineTo(230+ax,150+ay); Image1.Canvas. LineTo(230+ax,250+ay); Image1.Canvas. LineTo(300+ax,200+ay); end; procedure Tform1.TformTImage1MouseDown(Sender : TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin ax:=x-200; ay:=y-200; end; end; procedure TForm1.TformTImage1MouseMove(Sender : TObject; Shift: TShiftState; X, Y: Integer); begin if ssLeft in Shift then begin ax:=x-200;ay:=y-200; Repaint; end; end; end. |
26.04.2011, 19:07 | #2 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
Здравствуйте
Посмотрите здесь только код http://delphi.about.com/od/vclusing/a/dragdrop.htm До свидания |
26.04.2011, 19:25 | #3 |
Пользователь
Регистрация: 07.04.2011
Сообщений: 28
|
Спасибо, но всё равно ничего не понятно раньше на паскале писал...а курсовик заставили на дельфи делать...пытался как в паскале процедуры использовать но ничего не получилось...вот 2 день уже думаю что сделать.
|
26.04.2011, 19:43 | #4 |
Форумчанин
Регистрация: 27.09.2010
Сообщений: 376
|
1. Вы не можете вольно писать процедуры и функции для компонентов (но можете использовать готовые, но пока не трогайте этот вопрос). Их нужно назначить. Выбираете компонент и в Object Inspector на вкладке Events кликаете в нужном месте и Вас перенесёт в редактор кода, во там и вписываете всё Вам нужное (событие onClick для Image1 создаст, например,
Код:
2. Инициализируйте переменные ax:=x-200;ay:=y-200; (только откуда появляются здесь х и у..) в событии формы onCreate. 3. Посмотрите для начала любой простейший пример программы на Delphi. 4. С "нуля" создайте Ваш проект. Просьте на форму Image1: TImage, добавьте в var ax, ay: integer (что Вы и сделали сами), а дальше сделайте всё, как я написал. Последний раз редактировалось OlegVE; 26.04.2011 в 19:47. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В чем ошибка!? | Файзулка | Помощь студентам | 5 | 17.01.2011 10:27 |
в чем ошибка??? | Cnfczy | Общие вопросы Delphi | 1 | 28.11.2010 21:16 |
В чем ошибка? | Кинельски | Общие вопросы Delphi | 17 | 24.05.2010 23:08 |
В ЧЕМ ОШИБКА? | salmanbaz | Общие вопросы C/C++ | 5 | 11.01.2009 13:21 |
В чем ошибка? | fosto | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 07.12.2008 19:10 |