View Full Version : [C] Creare un'interfaccia dos
Alhazred
27-10-2007, 16:36
Al mio programma che sto scrivendo vorrei dare un aspetto un po' più piacevole creando un'interfaccia che ad esempio per scegliere delle opzioni permetta di selezionarle evidenziandole con le frecce della tastiera invece di dover scrivere il numero corrispondente all'opzione, in pratica alla fine vorrei fare una cosa che somigli a quella dell'immagine qui sotto:
http://screenshots.xnavigation.net/viewimg/161/active/ntfs/reader/for/dos.jpg
Dove posso documentarmi?
Al mio programma che sto scrivendo vorrei dare un aspetto un po' più piacevole creando un'interfaccia che ad esempio per scegliere delle opzioni permetta di selezionarle evidenziandole con le frecce della tastiera invece di dover scrivere il numero corrispondente all'opzione, in pratica alla fine vorrei fare una cosa che somigli a quella dell'immagine qui sotto:
http://screenshots.xnavigation.net/viewimg/161/active/ntfs/reader/for/dos.jpg
Dove posso documentarmi?
per fare quello che chiedi, interfaccia, sotto console dos, devi lavorare e disegnare in ascii/art:
1. usare i colori di background e foreground
2. Per disegnare usare l'ascii:
tipo un menu:
cout<<"ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿"<<endl;
fgcol=14;
ccolor(fgcol,bgcol);
cout<<"³ MENU (by okay) ³±"<<endl;
fgcol=0;
ccolor(fgcol,bgcol);
cout<<"³ Esc: To exit ³±"<<endl;
cout<<"ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±"<<endl;
cout<<" ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±"<<endl;
3. Per lo schermo a (25-80 o quello che vuoi) righe devi posizionare con un locate (x,y) il cursore appunto alle coordinate x y.
gotoxy(14, 15);
void gotoxy(int x, int y)
{
COORD point;
point.X = x; point.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), point);
}
4. Evidenziare la selezione
5. con il tasto return scegi la routine da richiamare.
trovi tutto negli include del comp:
//include sistema
#include <winsock.h>
#include <iostream>
#include <string>
#include <stdio.h>
#include <fstream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
#include <dos.h>
#include <time.h>
#include <ctype.h>
#include <tchar.h>
using namespace std;
i miei include per esempio
Edit: con google digita "SetConsoleCursorPosition" troverai parecchia roba a riguardo
ciao
Alhazred: quale compilatore usi ?
Borland aveva introdotto nel 1991 Turbo Vision, una collezione di oggetti per la creazione di applicazioni con interfaccia a finestre. Funzionava in modalità carattere e gestiva nativamente il mouse.
C'è un port per DJGPP qui:
http://tvision.sourceforge.net/
http://tvision.sourceforge.net/tv2-QNX-tvscreen.jpg
variabilepippo
28-10-2007, 21:02
Io consiglio spesso la TVision per questo genere di cose, però l'utente ha chiesto una libreria C e non una C++.
Su Garbo e Simtel si trovano molte librerie specifiche per C.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.