Вниз
Скачать: 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.009 c
1-62574
race1
2003-01-11 14:42
2003.01.20
dll


1-62635
123000
2003-01-09 15:27
2003.01.20
Нарезка файла


7-62861
symbol
2002-11-05 12:31
2003.01.20
Системный динамик


4-62887
izhalex
2002-11-28 11:03
2003.01.20
скрытие процесса в windows 2000


3-62393
Sergy
2002-12-25 15:09
2003.01.20
DBgrid и MultiSelect




   Наверх