Button jak na WWW

MU
  • Rejestracja: dni
  • Ostatnio: dni
0

Od niedawna piszę w Delphi. W programowaniu nie jestem nowicjuszem, ponieważ zaczynałem przygodę z informatyką trzy lata temu. wtedy nauczyłem się HTML-a. I pytanie about :-D Delphi. Jak można zrobić przycisk (taki jak w HTML), który po najechaniu na niego myszą zmienia Bitmapę, a po opuszczeniu komponentu wraca do pozycji wyjściowej?

PS. Jak ktoś zna szczerą odpowiedź proszę o kontakt: multimedialni@interia.pl

berl
  • Rejestracja: dni
  • Ostatnio: dni
ST
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 66
0

Możesz zrobić tak. Jak masz buttona to w Event Klikasz na mousemove i wpisujesz np image1.visible:=true. A kiedy zjerzdzasz z buttona na np forme to w formie też robisz Onmousemove i piszesz image1.visible:=true.
[browar]

berl
  • Rejestracja: dni
  • Ostatnio: dni
0

Możesz zrobić tak. Jak masz buttona to w Event Klikasz na mousemove i wpisujesz np image1.visible:=true. A kiedy zjerzdzasz z buttona na np forme to w formie też robisz Onmousemove i piszesz image1.visible:=true.

... i uzyskujesz tylko tyle, że jakiś tam obrazek jest widoczny przez cały czas.

  • Rejestracja: dni
  • Ostatnio: dni
0

jeśli chodzi tylko o bitmapę, myślę że powinieneś dać w evencie OnMouseMove że jeśli myszka jest w polu obrazka, to niech obrazek zmieni bitmapę.
Osobiście tego nie używałem, więc zapomniałem jak ten skrypt ma wyglądać (korzystam raczej z OnMouseOver :-)).
Mam nadzieję że pomogłem :-) (Bo co może wiedzieć 10-latek :-)).

WI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 162
0

Poczytaj o komunikatach. Adam kiedys napisał fajnego arta jest tam ktok po kropku jak zrobic button z obsluga zdarze mouseEnter i MouseLeave

PE
  • Rejestracja: dni
  • Ostatnio: dni
0

Hej chłopaki można zrobić tak:

Wrzucamy ImageList w którym pod nr 0 jest bitmapa nieaktywna, a pod 1 aktywna (czyli kiedy kursor jest nad przyciskiem)

do Form.OnMouseMove i do Image.OnMouseMove dajemy tego samego procka:

Kopiuj
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
b: TBitmap;
a: Integer;
begin
if Sender=Image1 then a:=1 else a:=0;
if a+10=Image1.Tag then exit;
b:=TBitmap.Create;
ImageList1.GetBitmap(a,b);
Image1.Picture.Bitmap.Assign(b);
Image1.Tag:=a+10;
b.Free;
end;

i voila :-)

WI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 162
0

Nie wydaje mnie się... MouseMove nie za dobrze sprawdza się w tego typu sprawach... MouseMove - rusz myszą a nie opuszczenie... wystarczy ze machniesz mocno myszka i wyjedziesz za forme albo po prostu Image ustawisz w jakims roku formy i wuyjedziesz poza nia i obrazek sie nie zmieni...

PE
  • Rejestracja: dni
  • Ostatnio: dni
0

Nie wydaje mnie się... MouseMove nie za dobrze sprawdza się w tego typu sprawach... MouseMove - rusz myszą a nie opuszczenie... wystarczy ze machniesz mocno myszka i wyjedziesz za forme albo po prostu Image ustawisz w jakims roku formy i wuyjedziesz poza nia i obrazek sie nie zmieni...

No w sumie tak... Ale przy optymalnych warunkach (WindowState=wsMaximized i button na środku)... :-8

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.