Вниз
Скачать: CL | DM;

Помогите начинающему!   Найти похожие ветки 

← →
школьник   (2003-01-10 16:20) [0]

Не ругайтесь, я самостоятельно пытаюсь разобраться в дельфи. объясните, плз, почему 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;


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


← →
TTCustomDelphiMaster ©   (2003-01-10 16:36) [1]

Image3.Pictute.Assign(Image2.Picture);


← →
D   (2003-01-10 16:47) [2]

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


← →
Delirium^.Tremens ©   (2003-01-10 16:50) [3]

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

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

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


image3.Picture := nil;


← →
школьник   (2003-01-10 17:16) [4]

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


← →
школьник   (2003-01-10 18:47) [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 19:14) [6]

А?


← →
D   (2003-01-10 19:18) [7]

Картинки сравниваются, наверное, НЕКОРРЕКТНО (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 22:56) [8]

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


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

up



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.01 c
8-62663
ych_boriss
2002-10-03 03:42
2003.01.20
шрифты


14-62813
kronprince
2002-12-28 21:45
2003.01.20
Есть ли аналоги Borland Socket server ???


1-62652
Cranium
2003-01-08 01:09
2003.01.20
Реализация DLL


3-62441
Andy Eremin
2002-12-27 07:29
2003.01.20
печать


1-62518
fifo
2003-01-10 17:31
2003.01.20
список файлов каталога




   Наверх