• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem c++ zmiana czcionki w konsoli

Cloud VPS
0 głosów
342 wizyt
pytanie zadane 4 grudnia 2022 w C i C++ przez piotr_domanski Bywalec (2,490 p.)
edycja 4 grudnia 2022 przez piotr_domanski

Witam, mam taki kod : 

 

#include <iostream>    
#include <Windows.h>

using namespace std;

int main()
{
    static CONSOLE_FONT_INFOEX  fontex;
    fontex.cbSize = sizeof(CONSOLE_FONT_INFOEX);
    HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    GetCurrentConsoleFontEx(hOut, 0, &fontex);
    fontex.FontWeight = 700;
    fontex.dwFontSize.X = 36;
    fontex.dwFontSize.Y = 36;
    SetCurrentConsoleFontEx(hOut, NULL, &fontex);
    cout << "This text is bold, like me.\n";
    return 0;
}

On działa mi w VS, ale nie chce działać w Code Blocks :(  .Co jest nie tak. 

Tu jest błąd :    static CONSOLE_FONT_INFOEX  fontex;

error: 'CONSOLE_FONT_INFOEX' does not name a type|

1 odpowiedź

0 głosów
odpowiedź 4 grudnia 2022 przez j23 Mędrzec (195,240 p.)

Daj przed #include <windows.h> definicję makr:

#define WINVER 0x0601
#define _WIN32_WINNT 0x0601

Według dokumentacji CONSOLE_FONT_INFOEX jest dostępna od Windowsa Vista i nie wykluczone, że projekt C::B jest skonfigurowany na starszego Windowsa.

komentarz 4 grudnia 2022 przez piotr_domanski Bywalec (2,490 p.)
działa, ale jest nowy błąd : \

tutaj :

GetCurrentConsoleFontEx(hOut, 0, &fontex);

1305|error: 'GetCurrentConsoleFontEx' was not declared in this scope|
komentarz 4 grudnia 2022 przez j23 Mędrzec (195,240 p.)

W sumie ta funkcja powinna być widziana...

Do tych wcześniejszych definicji makr dodaj #undef NOGDI

komentarz 5 grudnia 2022 przez piotr_domanski Bywalec (2,490 p.)
nadal nie działa, w tej samej linijce jest błąd

 

GetCurrentConsoleFontEx(hOut, 0, &fontex);

1305|error: 'GetCurrentConsoleFontEx' was not declared in this scope|

nie wiem dlaczego :(
komentarz 5 grudnia 2022 przez j23 Mędrzec (195,240 p.)

Zaglądałeś do pliku WinCon.h (i ewentualnie ConsoleApi3.h)? Jest tam ta funkcja?

komentarz 5 grudnia 2022 przez piotr_domanski Bywalec (2,490 p.)
nie ma takiej funkcji
komentarz 5 grudnia 2022 przez j23 Mędrzec (195,240 p.)

A to ciekawe, bo CONSOLE_FONT_INFOEX jest używana (chyba) tylko przez funkcję GetCurrentConsoleFontEx. To co, zdefiniowali strukturę a funkcji, dla której ta struktura istnieje, nie? Coś podejrzane to jest...

Może użyj funkcji GetCurrentConsoleFont i SetCurrentConsoleFont.

komentarz 5 grudnia 2022 przez piotr_domanski Bywalec (2,490 p.)
spróbuję

Podobne pytania

0 głosów
1 odpowiedź 916 wizyt
pytanie zadane 25 listopada 2019 w C i C++ przez Hardwell Dyskutant (9,020 p.)
0 głosów
1 odpowiedź 695 wizyt
pytanie zadane 11 listopada 2022 w C i C++ przez piotr_domanski Bywalec (2,490 p.)
0 głosów
2 odpowiedzi 1,108 wizyt

93,487 zapytań

142,423 odpowiedzi

322,773 komentarzy

62,908 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...