Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako nekom tasteru dodeliti neku funkciju BCB 6

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako nekom tasteru dodeliti neku funkciju BCB 6

[ Pregleda: 1148 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

E42
popovic vesna
indjija

Član broj: 131135
Poruke: 11
*.goranjesic.net.



Profil

icon Kako nekom tasteru dodeliti neku funkciju BCB 627.01.2009. u 11:34 - pre 185 meseci
Pozdrav svima,
dakle kako nekom tasteru dodeliti neku funkciju u BCB 6 npr:
kada pritisnem Enter ili tastere za strelice da desi kod:
Canvas->Rectangle(100,100,200,300); //iscrtavanje pravougaonika
ili neka druga naredba?
hvala
popovic vesna
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.tekostolac.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Kako nekom tasteru dodeliti neku funkciju BCB 627.01.2009. u 12:23 - pre 185 meseci
Mozes upotrebiti dogadjaje TForm klase: OnKeyDown, OnKeyPress, OnKeyDown.

Primer (Form1 je glavna forma):

1. kroz Object Instector postavi osobinu KeyPreview = true.
(ovo je bitno da osigura da dogadjaj pritiska tastera bude vidljiv cak iako fokus bude na nekim drugim kontrolama na formi koje imaju svoje sopstvene OnKey dogadjaje)

2. Dodaj slederci kod u OnKeyDown, tako da sve zajedno bude:
Code:

void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if ( Key == 'A' ) // <--- Testira da li je pritisnut taster A
        Canvas->Rectangle(100,100,200,300); //iscrtavanje pravougaonika
}


Pretrazi Help po kljucnim recima "Virtual key codes" da vidis kako se testiraju specijali tasteri. Takodje, moguce je kontrolisati i Shift i Control, direktno iz dogadjaja.

Dalje, ono sto treba da znas o Canvasu je da ta promena koju si uradila NIJE TRAJNA. Svako Refreshovanje (minimizovanje/maksimizovanje ili prelaz drugim prozorom preko iscrtanog pravougaonika) ce obrisati tvoju grafiku.

Da bi se to sprecilo, kod za crtanje bi nekako trebalo spakovati u OnPaint dogadjaj.

Alternativa OnPaint-u je:
- koriscenje gotovih objekata tipa TShape
- koriscenje PaintBox objekta, mada se svodi opet na OnPaint
- crtanje preko nekog TImage objekta
- i sl.

Sve zavisi sta zelis da postignes.



 
Odgovor na temu

[es] :: C/C++ programiranje :: C/C++ za početnike :: Kako nekom tasteru dodeliti neku funkciju BCB 6

[ Pregleda: 1148 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.