jegor377 Temat założony przez niniejszego użytkownika |
Jak sprawdzić aktualny kolor konsoli? » 2014-10-01 20:57:49 Piszę moduł do cmd, w którym będzie można na określonej pozycji wyświetlić znak / ciąg znaków o określonym kolorze. No i tu się pojawia problem, bo w moim programie co prawda wszystko działa, ale po pierwsze nie mogę za nic powiedzieć programowi żeby najpierw pokolorował tło, a potem tekst (bo nie mogę zrobić tego jednocześnie, bo robię to na cyferkach i nie umiem oznaczyć, że to ma być tło, a to tekst) oraz mój program po wykonaniu zostawia ten kolor który ustawił mi moduł w cmd, a ja tego nie chcę, więc proszę o pomoc. Czyli jaka funkcja służy do pobierania koloru z konsoli i jak poprawić tamten problem. PS mam kompilator GNU GCC, Code Blocksa. A tu zamieszczam kod programu: #include <iostream> #include <windows.h> #include <iostream> #include <cstdlib> #include <sstream> #include <cstdio>
using namespace std;
HANDLE hOut;
string znak; int x, y, onlycolor;
void gotoxy(int x, int y) { COORD c;
c.X = x - 1; c.Y = y - 1; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c); }
string inttostring(int number1) { ostringstream zmienna; zmienna << number1; return zmienna.str(); }
int main(int argc, char* argv[]) { if (argc<5) return 1; hOut = GetStdHandle( STD_OUTPUT_HANDLE ); x = atoi(argv[2]); y = atoi(argv[3]); znak = argv[4]; gotoxy(x, y); SetConsoleTextAttribute( hOut, atoi(argv[1]) ); cout << znak; return 0; }
|
|
Monika90 |
» 2014-10-01 22:15:09 Jak sprawdzić aktualny kolor konsoli? |
GetConsoleScreenBufferInfo |
|
jegor377 Temat założony przez niniejszego użytkownika |
» 2014-10-02 15:33:13 Nie znam za bardzo WinAPI możesz mi wytłumaczyć jak ta funkcja działa? |
|
pekfos |
» 2014-10-02 17:07:43 |
|
jegor377 Temat założony przez niniejszego użytkownika |
» 2014-10-03 16:17:08 To znaczy ja wiem co mam mu najpierw wysłać, ale co dać w lpConsoleScreenBufferInfo? jakąś pozycje znaku? czy co?
GetConsoleScreenBufferInfo( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo ); |
|
pekfos |
» 2014-10-03 16:33:46 Tam otrzymujesz wynik. A pointer to a CONSOLE_SCREEN_BUFFER_INFO structure that receives the console screen buffer information. |
|
|
Monika90 |
» 2014-10-03 17:09:41 CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), & info ); std::cout << info.wAttributes << std::endl;
|
|
jegor377 Temat założony przez niniejszego użytkownika |
» 2014-10-03 17:25:08 AAAAAAAAAAAAAAA. Dzięki zamykam temat. Co prawda jeszcze nie sprawdziłem, ale jakoś sobie poradzę i thx C: |
|
« 1 » |