Strona 1 z 1
C++ Builder 6 tło przycisków i liczby z klawiatury
: 04 marca 2009, 17:08
autor: riddle
Witam! Zrobiłem prosty kalkulatorek w C++ Builderze, chciałbym go trochę upiększyć poprzez wstawienie zamiast zwykłego szarego przycisku jakiś ładny kolorowy, bądź jakąś ładną teksturę. Chciałbym również abym mógł wpisywać liczby z klawiatury, a nie poprzez kliknięcie, wiem że trzeba dodać coś w zakładce Events, tylko nie wiem za bardzo co? Dziękuję za pomoc!
: 04 marca 2009, 19:34
autor: borlus
Co do przycisku z teksturą, nie możesz używać obiektu Button z zakładki Standard. Potrzebujesz BitBtn z zakładki Additional. Grafikę dodasz poprzez Object Inspectora, właściwość Glyph. Ciekawy efekt daje SpeedButton z właściwością Flat ustawioną na True.
: 04 marca 2009, 21:08
autor: riddle
yea! kolego bardzo mi pomogłeś, dziękuję! A macie pomysł na wczytywanie liczb z klawiatury?
: 04 marca 2009, 21:39
autor: borlus
Pokombinuj w Events w OI i wartością OnKeyPress. Klikasz dwukrotnie w polu obok. Borland generuje zdarzenie. Teraz tam musisz zadeklarować jakiemu klawiszowi jaka wartość odpowiada. Ważne, żebyś zdarzenie generował dla formularza, a nie żadnego obiektu!
Jutro zainstaluję Borlanda C++ i wyślę Ci dokładnie jak to zrobić, jeśli do tej pory nic nie wymyślisz ;-)
: 04 marca 2009, 23:19
autor: 0x11
dużo vcl znajdziesz na torry.net
: 05 marca 2009, 16:46
autor: riddle
Wstawiłem w linijkę OnPressKey takie coś: np. dla dwójki:
Gdzie BitBtn2Click to klawisz z dwójką i działa mi tylko wtedy jak krateczka (prostokąt w kropki) znajduje się na klawiszu 2 tak jak na rysunku.
: 05 marca 2009, 20:52
autor: borlus
Tak więc tak jak mówiłem wgrałem Borlanda. Rozwiązałem problem wczytywania liczb z klawiatury w następujący sposób: dla
każdego przycisku
BitBtn wygenerowałem akcję OnKeyPress i wstawiłem:
Kod: Zaznacz cały
char keyString[25]; // tworzy tablicę znakową
keyString[0] = Key; // wczytujemy do tablicy znak z klawiatury
strcpy(&keyString[1], ""); // konwertujemy typy
Label1 -> Caption = keyString; // wyświetlamy klawisz
Oczywiście jeśli znak ma być wczytany do
Edita, poprawiasz ostatnią linijkę:
W analogiczny sposób możesz wczytać dane do innych obiektów.
: 05 marca 2009, 21:28
autor: riddle
Dobrze, teraz która linijka odpowiada za konkretny klawisz? Czyli np.: 1,2,3,4 itp.
: 05 marca 2009, 21:41
autor: borlus
To jest "automat". Sam wyłapuje klawisze.