C++ Builder 6 t

Potrzebujesz pomocy z C, C++, perl, python, itp.
riddle
Posty: 21
Rejestracja: 22 lutego 2009, 16:53
Lokalizacja: ze ¶wiata

C++ Builder 6 tło przycisków i liczby z klawiatury

Post 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!
borlus
Beginner
Posty: 299
Rejestracja: 08 stycznia 2008, 14:27
Lokalizacja: okolice Poznania

Post 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.
riddle
Posty: 21
Rejestracja: 22 lutego 2009, 16:53
Lokalizacja: ze ¶wiata

Post autor: riddle »

yea! kolego bardzo mi pomogłeś, dziękuję! A macie pomysł na wczytywanie liczb z klawiatury?
borlus
Beginner
Posty: 299
Rejestracja: 08 stycznia 2008, 14:27
Lokalizacja: okolice Poznania

Post 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 ;-)
0x11
Posty: 17
Rejestracja: 02 marca 2009, 11:00

Post autor: 0x11 »

dużo vcl znajdziesz na torry.net
riddle
Posty: 21
Rejestracja: 22 lutego 2009, 16:53
Lokalizacja: ze ¶wiata

Post autor: riddle »

Obrazek

Wstawiłem w linijkę OnPressKey takie coś: np. dla dwójki:

Kod: Zaznacz cały

if (Key == '2')
BitBtn2Click(Sender);
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.
borlus
Beginner
Posty: 299
Rejestracja: 08 stycznia 2008, 14:27
Lokalizacja: okolice Poznania

Post 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ę:

Kod: Zaznacz cały

Edit1 -> Text = keyString;
W analogiczny sposób możesz wczytać dane do innych obiektów.
riddle
Posty: 21
Rejestracja: 22 lutego 2009, 16:53
Lokalizacja: ze ¶wiata

Post autor: riddle »

Dobrze, teraz która linijka odpowiada za konkretny klawisz? Czyli np.: 1,2,3,4 itp.
borlus
Beginner
Posty: 299
Rejestracja: 08 stycznia 2008, 14:27
Lokalizacja: okolice Poznania

Post autor: borlus »

To jest "automat". Sam wyłapuje klawisze.
ODPOWIEDZ