Kurs C++ - #8 konsola oraz windows.h

 #8 Konsola oraz windows.h

 

system(polecenie) - używa polecenie z Windows Command Prompt (cmd)

#define _WIN32_WINNT 0x0500 - definiujemy wersje minimalną wersję windows'a na której można uruchomić aplikację, w tej definicji to Windows 2000

Wszystkie definicje:

- 0x0400 // Windows NT 4.0

- 0x0500 // Windows 2000

- 0x0501 // Windows XP

- 0x0502 // Windows Server 2003

- 0x0600 // Windows Vista

- 0x0600 // Windows Vista

- 0x0600 // Windows Server 2008

- 0x0600 // Windows Vista

- 0x0601 // Windows 7

- 0x0602 // Windows 8

- 0x0603 // Windows 8.1

- 0x0A00 // Windows 10

- 0x0A00 // Windows 10

HWND - obiekt okna w windows.h

struct - definicja struktury

RECT - struktura składająca się z 4 zmiennych long

 

Jeśli chcemy wyczyścić okno konsoli z tekstu:

system("cls");

 

Jeśli chcemy zapałzować program na czas następnego wejścia z klawiatury:

system("pause");

 

Przykładowo gdy chcemy zablokować możliwość zmiany wysokości i szerokości okna konsoli, należy użyć:

HWND console = GetConsoleWindow(); // bierzemy instancje okna konsoli jako zmienną console

SetWindowLong(console, GWL_STYLE, GetWindowLong(console, GWL_STYLE) & ~WS_MAXIMIZEBOX & ~WS_SIZEBOX); // wyłączamy możliwość zmainy wysokości i szerokości okna konsoli

RECT consoleRect;

GetWindowRect(console, &consoleRect); // ta funkcja zmienia wartości zmiennej consoleRect na wymiary okna konsoli

MoveWindow(console, consoleRect.left, consoleRect.top, 800, 600, TRUE); // zmieniamy wysokość i szerokość okna konsoli na 800x600 pikseli

Struktury:

Składnia struktury:

struct nazwa {

     zmienne

};

Przykłady:

struct vector3d {

     double x;

     double y;

     double z;

};

struct uczen {

     std::string imie;

     std::string nazwisko;

};

 

Czyszczenie konsoli:

FreeConsole();

 

Proste wyświetlanie tesktu przy użyciu windows.h (MessageBox):

MessageBox(0, "komunikat", "tytul", MB_OK);

 

Wyświetlanie tekstu przy użyciu funkcji MessageBox:

std::wstringstream ss;

ss << zmienna;

MessageBox(0, ss.str().c_str(), "tytul", MB_OK);

 

Zadanie 1: Napisz program który wyświetla tekst, kasując wcześniejszy

Zadanie 2: Napisz program który wyświetla strukturę składającą się z 5 dowolnych zmiennych

Zadanie 3: Napisz program który będzie wyświetlać tekst na MessageBox, wprowadzony przez użytkownika w konsoli