[delphi] Zmiana przycisku po kliknięciu i powrót.

0

Witam!

Tworzę programik w Delphi i chciałbym aby po naciśnięciu na przycisk, ktory jest komponentem TImage, zmieniał się jego wygląd i za chwilę powracał do stanu normalnego. Myślalem tutaj o zastosowaniu dwóch obrazków, z których jeden pojawia się w momencie naciśnięciu myszką na ów przycisk, by za moment zniknąć.
Jak to wykonać? Proszę o pomoc.

Z poważaniem,
likendoo

0

Do uses dodaj moduł JPEG;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Image1.Picture.LoadFromFile('D:\plik.jpg');
end;

procedure TForm1.Image1Click(Sender: TObject);
var
  Czas : Word;
begin
  Czas := 0;
  Image1.Picture.LoadFromFile('D:\plik2.jpg');
  Image1.Refresh;
     repeat
       Sleep(1000);
       Application.ProcessMessages;
       Czas := Czas +1;
     until Czas = 3;
  Image1.Picture := nil;
end;

Po 3 sekundach obrazek stanie się pusty. Możesz też załadować inny obrazek, jeżeli chcesz. Można
też do przechowywania jpgów użyć zasobów Zasoby w EXE

0

po pierwsze twoje pytanie jest tak proste ze powinno sie znajdowac w dziale Newbie.
ale do rzeczy:
jesli chodzi Ci o przycisk ktory zmienia sie po nacisnieciu i powraca do poprzedniego stanu po puszczeniu klawisza mychy to masz kilka wyjsc:
-uzyc gotowego komponentu (teog typu przyciskow znajdziesz mase w necie)
-napisac wlasny komponent
-prowizorycznie mozna to rozwiacac dajac na formie dwa obrazki, jeden nad drugim, z czego ten na gorze bezie ukryty. a potem w zdarzeniach onMouseDown i onMouseUp ukrywac lub pokazywac ten gorny image. od razu uprzedzam, ze jesli przyjdzie Ci do glowy zapytac jak to zrobic, Twoj post zostanie usuniety a najpierw zostaniesz zwyzywany od leni lub gorzej;]

jesli chodzi Ci o cos innego to napisz dokladniej.

/////////
@olesio:
bez sensu wieszac program na 1sek. jesli juz na sile chcesz zrobic w ten sposob to lepiej powtorzyc 3000razy:
sleep(1); application.processmessages;

0

to już lepiej odświeżenie przycisku w Timerk'a wrzucić i go włączyć po prostu bo tak to co by nie było i tak będziesz go wieszać =|

0

dziękuję!

1 użytkowników online, w tym zalogowanych: 0, gości: 1