Irgentwie scheintst du es echt nicht zu verstehen, gut hier nochmal die Code schnipsel:
Code:
procedure Tfrm_main.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
image1.Picture:=img_btn_gedrueckt.Picture;
Label1.Top:=Label1.Top+2;
Label1.Left:=Label1.Left-1;
end;
end;
Code:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
image1.Picture:=img_btn_normal.Picture;
Label1.Top:=Label1.Top-2;
Label1.Left:=Label1.Left+1;
end;
end;
Und nun nochmal wo das Problem ist. Ich klicke mit der linken Maustaste auf das Image und es passiert wie im Code folgendes:
Code:
image1.Picture:=img_btn_gedrueckt.Picture;
Label1.Top:=Label1.Top+2;
Label1.Left:=Label1.Left-1;
Soweit so gut. Das Image ändert seine Grafik auf die eines gedrückten Buttons.
Sobald ich nun die Maustaste loslasse, sollte ja an für sich die "procedure Tfrm_main.Image1MouseUp" ausgelöst werden. Tut
sie aber nicht. Heisst, dass die Grafik des gedrückten Buttons bestehen bleibt.
Ändere ich nun
Code:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Button = mbLeft then
begin
image1.Picture:=img_btn_normal.Picture;
Label1.Top:=Label1.Top-2;
Label1.Left:=Label1.Left+1;
end;
end;
in
Code:
procedure Tfrm_main.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image1.Picture:=img_btn_normal.Picture;
Label1.Top:=Label1.Top-2;
Label1.Left:=Label1.Left+1;
end;
wird die "procedure Tfrm_main.Image1MouseUp" ausgelöst und die Grafik geändert, in die des Buttons im Normaozustand.
Und meine frage war nun wieso die "procedure Tfrm_main.Image1MouseUp" nicht ausgelöst wird, sobald ich diese
Abfrage drin habe.