|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.11.2007, 13:49 | #1 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
Сверху\снизу
Здравствуйте! Подскажите пож-та как сделать так чтобы рисунок был сверху другого:
у меня есть рисунок на image1 и рисунок "добытый" процедурой: procedure TForm1.FormCreate(Sender: TObject); begin card:=TBitmap.Create; card.Width:=100; card.Height:=150; card.LoadFromFile('card.bmp'); DoubleBuffered:=true; end; И почему то при перемещении image1 всегда ока-ся сверху "добытого", а мне надо наоборот,чтобы image1 был снизу!Не знаете как это осуществить? From Stilet: Тему называй пожалуйста по нормальному, иначе отвечать на нее на захотят
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
Последний раз редактировалось Stilet; 02.11.2007 в 13:53. |
02.11.2007, 13:54 | #2 |
Форумчанин
Регистрация: 12.06.2007
Сообщений: 130
|
Что-то не совсем понятно... Покажи что ль исходник.
|
02.11.2007, 14:05 | #3 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
02.11.2007, 17:16 | #4 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
Айдар вот код:
unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form1: TForm1; card: TBitmap; cx,cy,fx,fy: integer; MouseOnCard, catch: boolean; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin card:=TBitmap.Create; card.Width:=100; card.Height:=150; card.LoadFromFile('card.bmp'); DoubleBuffered:=true; end; procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Draw(cx,cy,card); end; procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); begin if (x > cx) and (x < cx+100) and (y > cy) and (y < cy+150) then begin if not MouseOnCard then begin MouseOnCard:=true; Cursor:=crHandPoint; end; end else if MouseOnCard then begin MouseOnCard:=false; Cursor:=crDefault; end; if catch then begin cx:=x-fx; cy:=y-fy; Repaint; end; end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if MouseOnCard then begin catch:=true; fx:=x-cx; fy:=y-cy; end; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if catch then catch:=false; end; end.
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
|
02.11.2007, 17:18 | #5 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
Стилет "добытое" на форме Form1 рисуется
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
|
02.11.2007, 19:28 | #6 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
О, знакомый код
Image снизу не будет, ты либо все рисунки держи в имиджах (их можно таскать точно так же) и меняй то один сверху то другой (не помню свойство или OnTop или что-то с этим связаное), либо все рисунки рисуй на канве (из битмапов), тогда контроль кто сверху кто снизу у тебя, к-рый последний отрисовал тот и сверху.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
02.11.2007, 19:49 | #7 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
Не я пробовал в имиджах,но они не перемещаются!там выходит что то типа ошибка timage tgraphic.Может что то менять надо в коде?
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
|
02.11.2007, 21:14 | #8 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Перетаскивание одного имиджа, свойство имиджа Enabled поставь False
Если их много нужно делать массив, или же для каждого обрабатывать события мыши отдельно, и потом неизвестно их кол-во фиксировано или может меняться. Код:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
03.11.2007, 10:54 | #9 |
Форумчанин
Регистрация: 23.10.2007
Сообщений: 275
|
Мутадор я как только не вставлял твой код,перепробовал все,а результата ноль.Главное ни единой ошибки,а имидж не двигается и все!Впрям как часовые!
http://otlishnik.com/ чудесный портал для всех кто учится. Рефераты, каталоГ вузов, решебники, справочники, ЕГЭ! Welcome
|
03.11.2007, 12:02 | #10 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Ну так переменные позаполнять надо вначале
Код:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |