Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

zaawansowane menu w konsoli

Ostatnio zmodyfikowano 2008-12-29 13:22
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
zaawansowane menu w konsoli
» 2008-12-28 15:29:14
mam pytanie. :)jak zrobić w konsolce zaawansowane menu z podświetlaną aktualnie wybraną opcją?
P-3037
Patzick
» 2008-12-28 15:43:15
coś takiego możesz robić dzięki console.ddt poczytaj dokumentację, musisz pozmieniać kolory kiedy dana opcja jest zaznaczona :) trochę zabawy z tym masz ale efekt na pewno Cię nie rozczaruje ;)
P-3038
DeBugger
:D
» 2008-12-28 15:44:22
P-3039
Patzick
» 2008-12-28 16:02:13
to i ja się dowiedziałem czegoś nowego :P byłem przekonany, że to tylko dla Linuxa jest ;)
ale console.ddt w każdym razie i tak Ci zadziała więc masz wybór :)
P-3041
pekfos
Temat założony przez niniejszego użytkownika
» 2008-12-28 16:51:14
New Curses nie mam więc narazie pokombinuje z console
P-3042
pekfos
Temat założony przez niniejszego użytkownika
» 2008-12-28 17:20:24
C/C++
#include <iostream>
#include <conio.h>
#include <console.ddt>
using namespace ddt::console;
using namespace std;
int main()
{
    int znak;
    int pozycja = 1;
    bool enter = false;
    const int max = 3;
    const int min = 1;
    const int wybor = 4;
    const int op = 7;
    const string op1 = "opcja 1";
    const string op2 = "opcja 2";
    const string op3 = "exit";
    do
    {
        if( pozycja == min )
        {
            textcolor( wybor );
            cout << "\n\n\n\n\t\t\t" << op1 << endl;
        } else
        {
            textcolor( op );
            cout << "\n\n\n\n\t\t\t" << op1 << endl;
        }
        if( pozycja == 2 )
        {
            textcolor( wybor );
            cout << "\t\t\t" << op2 << endl;
        } else
        {
            textcolor( op );
            cout << "\t\t\t" << op2 << endl;
        }
        if( pozycja == max )
        {
            textcolor( wybor );
            cout << "\t\t\t" << op3 << endl;
        } else
        {
            textcolor( op );
            cout << "\t\t\t" << op3 << endl;
        }
        znak = getch();
        clrscr();
        switch( znak )
        {
        case 224:
            break;
        case 72:
            pozycja--;
            break;
        case 80:
            pozycja++;
            break;
        case 13:
            enter = true;
            break;
        }
        if( pozycja > max ) pozycja = max;
       
        if( pozycja < min ) pozycja = min;
       
        if( enter )
        {
            if( pozycja == 1 )
            {
                // kod opcji 1
            }
            if( pozycja == 2 )
            {
                // kod opcji 1
            }
            if( pozycja == 3 ) return 0;
           
            enter = false;
        }
    }
    while( 2 == 2 );
   
    return 0;
}
a czy jest taka możliwość że zamiast zmiany koloru czcionki byłaby podświetlona cała lub część linii z wybraną opcją?
P-3043
lynx
» 2008-12-28 18:34:37
Gdy chcesz używać NCurses w Windowsie, to pobierz sobie Pdcurses dostępne w repo portalu ddt.pl. Nie powinno być problemów, ponieważ NCurses i Pdcurses są prawie identyczne, a nazwy funkcji uzytych w kursie są wręcz takie same. :) Wiem bo sam sprawdzałem i działa.

/edit1:
W kursie masz ładny przykład jak zrobić menu z podświetleniem tekstu (New Curses). Jednak zanim zobaczysz tą lekcję proponuję przeczytać poprzednie.
P-3044
pekfos
Temat założony przez niniejszego użytkownika
» 2008-12-28 18:39:55
nie mogę się dostać do tego repozytorium :(
P-3045
« 1 » 2 3
  Strona 1 z 3 Następna strona