Przycisk bmp

  • Rejestracja: dni
  • Ostatnio: dni
0

Dzień dobry wszystkim,

Chciałbym się dowiedzieć jak można podmieć button ewentualnie bitbutton na przycisk graficzny w .bmp?. Moje próby zrobienia tego wyglądają następująco
user image

WM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6
0

Witam,
Polecam użyć komponentu Image.
Wczytać do niego obrazek z buttonem, a potem wszystkie potrzebne rzeczy wykonywać w evencie ON CLICK.
Pozdrawiam,
WiedźMAC

  • Rejestracja: dni
  • Ostatnio: dni
0

Ok wszystko pięknie działa, teraz jak zrobić by wyglądało to tak, że jest on naciskany.

SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
0
  • Stwórz dwie bitmapy: jedna przedstawiająca przycisk naciśnięty, a druga przycisk zwolniony (możesz to zrobić online: wpisz w Google "button generator").
  • Umieść te bitmapy w zasobach, albo w komponencie ImageList.
  • Teraz w procedurze obsługi zdarzenia OnMouseDown wczytujesz do Image pierwszą bitmapę, a w OnMouseUp drugą.
  • Oczywiście w OnClick wstawiasz kod, który ma być wywołany w momencie kliknięcia Twojego (udawanego) przycisku.
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
 procedure TForm1.Image2Click(Sender: TObject);
begin
if (Edit1.Text = 'ddddd') and (Edit2.Text = 'dddd123') then Form2.Showmodal
else MessageBox (handle, 'Podany login lub hasło jest nieprawidłowe', 'Logowanie', Mb_Ok + Mb_IconError);
end;

procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ImageList1.GetBitmap(1, Image2.Picture.Bitmap);
end;

procedure TForm1.Image2MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
ImageList1.GetBitmap(0, Image2.Picture.Bitmap);
end;

Gdy kompiluje program nie widać tych przycisków które załadowałem.

SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
0

Musisz odmalować kontrolkę

Kopiuj
Image2.Repaint;
  • Rejestracja: dni
  • Ostatnio: dni
0

No ok tylko w którym miejscu mam wpisać ?

SI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 184
0

Rzeczywiście mogłem od razu napisać, ale myślałem że się domyślisz. Ty sam również mogłeś spróbować to wpisać (właściwie gdziekolwiek) i sprawdzić, czy coś się zmieni. A wpisać trzeba na końcu procedur obsługi zdarzeń OnMouseDown i OnMouseUp

  • Rejestracja: dni
  • Ostatnio: dni
0

Pytanie właśnie wynikało stąd, że wklejałem to i na początku procedury i na końcu procedury i nic.

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.