Funkční klávesy v C/C++ – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Funkční klávesy v C/C++ – C / C++ – Fórum – Programujte.comFunkční klávesy v C/C++ – C / C++ – Fórum – Programujte.com

 

marpit0
Stálý člen
30. 5. 2010   #1
-
0
-

Zdravím, lámu si nad tím hlavu už dost dlouho a nemůžu přijít, jak využít funkční klávesy F1-F12 v programu psaném v C. Potřebpoval bych poradit, jak udělat switch, kde by bylo F1 Npověda, F2 Nový atd (jedná se o konzolovou aplikaci).
Dík moc za rady.

Nahlásit jako SPAM
IP: 94.113.182.–
MarPit
zdenda
~ Anonymní uživatel
257 příspěvků
30. 5. 2010   #2
-
0
-

Můžeš si napsat funkci, která vícekódové klávesy složí dohromady a tu pak používat.

Třeba F1 vrací (windows, getch) dvě hodnoty, 0 a 59 (0x00 a 0x3B), to spojíš dohromady, a aby to nekolidovalo s normálními klávesami, tak před to vrazíš třeba ještě jedničku a fičíš.

#define K_F1	0x01003B

#define K_F2 0x01003C
...
#define K_F11 0x01E085
#define K_F12 0x01E086
#define K_UP 0x01E048
...

int getkey()
{
int k;
switch (k = getch()) {
case 0x00: return 1 << 16 | k << 8 | getch();
case 0xE0: return 1 << 16 | k << 8 | getch();
default: return k;
}
}

switch (getkey()) {
case 'a': puts("a"); break;
case K_F1: puts("F1"); break;
}


Nebo úplně jinak, podle toho, co se ti pro tvé účely hodí.

Nahlásit jako SPAM
IP: 213.211.51.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 106 hostů

Podobná vlákna

Funkční analýza — založil Jano

Program na funkční analýzu — založil Jasper

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý