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

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

Помогите начинающему! [D6, WinME]


школьник ©   (2003-01-10 16:20:00) 

Не ругайтесь, я самостоятельно пытаюсь разобраться в дельфи. объясните, плз, почему Image3Click не работает?

procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Image3.Picture := image2.Picture;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image3.Picture.Bitmap.Handle := 0;
end;


procedure TForm1.Image3Click(Sender: TObject);
begin
if Image3.Picture = image2.Picture then
Image3.Picture := Image1.Picture;
end;


И как сделать шоб работал?


школьник   (2003-01-11 10:00:00) [1]

up


школьник   (2003-01-10 22:56:00) [2]

Работает. А если картинок много? Тогда наверное вместо переменной можно использовать Image1.Tag? Оно ведь для этого и предназначено? Как-то громоздко получается, неужели нельзя сделать попроще?


D   (2003-01-10 19:18:00) [3]

Картинки сравниваются, наверное, НЕКОРРЕКТНО (if Image3.Picture = image2.Picture then // = false
Image3.Picture.Assign(Image1.Picture);).

ПОПРОБУЙ ввести переменную (номер картинки в Image3.Picture)
1 - картинка из 1-го Image, 2 - из 2-го, 0-нет картинки

var Nom:integer = 0;
procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Nom<>1 then
begin Image3.Picture.Assign(Image2.Picture); Nom:=2
end;
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
if Nom=2 then
begin Image3.Picture.Assign(Image1.Picture); Nom:=1
end;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image3.Picture := nil; Nom:=0;
end;



школьник   (2003-01-10 19:14:00) [4]

А?


школьник   (2003-01-10 18:47:00) [5]

procedure TForm1.Image3MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if image3.Picture <> Image1.Picture then
Image3.Picture.Assign(Image2.Picture);
end;

procedure TForm1.Image3Click(Sender: TObject);
begin
if Image3.Picture = image2.Picture then
Image3.Picture.Assign(Image1.Picture);
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image3.Picture := nil;
end;


Вроде сделал как сказали, но опять Image3Click не работает :-((


школьник   (2003-01-10 17:16:00) [6]

спасибо большое!
(самому трудно разбираться)


Delirium^.Tremens   (2003-01-10 16:50:00) [7]

>>школьник (10.01.03 16:20)

Согласен с TTCustomDelphiMaster © (10.01.03 16:36)
+

> image3.Picture.Bitmap.Handle := 0;


image3.Picture := nil;


D   (2003-01-10 16:47:00) [8]

Наверное, сразу после Image3Click вызывется процедура Image3MouseMove (можно проверить в пошаговой отладке). Так что даже если 1-я картинка и отобразится в Имедже3, то сразу же и затрется...


TTCustomDelphiMaster   (2003-01-10 16:36:00) [9]

Image3.Pictute.Assign(Image2.Picture);


Наверх

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