also... ich habe keinen besseren titel gefunden... desswegen bitte nicht böse sein, wenn mein problem nicht zu 100% zutrifft.
ich habe ein image (image1) mit einem MouseOver-befehl ausgestattet... dies geschieht anhand dieses codes:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type TMyImg = class(TImage) private procedure CMMouseEnter(var Msg: TMessage); message CM_MOUSEENTER; procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE; end; TForm1 = class(TForm) Button1: TButton; Image1: TImage; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private MyImg: TMyImg; public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TMyImg.CMMouseEnter(var Msg: TMessage); begin inherited; Form1.Top := 0; Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'BMP1.bmp'); end;
procedure TMyImg.CMMouseLeave(var Msg: TMessage); begin inherited; Form1.Top := -150; Picture.LoadFromFile( ExtractFilePath(ParamStr(0)) + 'BMP2.bmp'); end;
procedure TForm1.FormCreate(Sender: TObject); begin MyImg := TMyImg.Create(Self); MyImg.Parent := Self; MyImg.Left := 10; MyImg.Top := 10; end;
procedure TForm1.FormDestroy(Sender: TObject); begin MyImg.Free; end;
end. |
kurze erklärung: wenn ich mit der maus über das bild gehe, ändert sich das bild und die position meiner form
bis dahin ist auch noch alles ok. das prog macht auch alles so, wies soll. ich habe auf meiner Form nun aber einen Button. das problem ist bloß, wenn ich mit der maus über den button geh, verlasse ich "indirekt" das bild (obwohl der button auf dem bild liegt) und somit ändert das programm die position meiner Form... und dann kann man den button ja schlecht drücken
hat da jemand vielleicht ne idee, wie ich das übgehen könnte...
ach ja... mit nem Timer währe es auch schlecht
mfg