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

zablokowanie możliwości zmiany okna konsoli w c++

Object Storage Arubacloud
0 głosów
1,047 wizyt
pytanie zadane 23 marca 2017 w C i C++ przez Jakub 0 Pasjonat (23,120 p.)

witam , ostatnio czytałem jak zmienić  rozmiar okna w konsoli wiem że można to zrobić tak :

#include <iostream>
#include <windows.h>
using namespace std;

int main()
{
    char c = 0;
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    SMALL_RECT sr;
    sr.Left = 0;
    sr.Top = 0;
    sr.Right = 10;
    sr.Bottom = 80;
    SetConsoleWindowInfo(handle,true,&sr);
    CONSOLE_SCREEN_BUFFER_INFO sbi;
    GetConsoleScreenBufferInfo(handle, &sbi);
    return 0;
}

zastanawiam się jednak czy można jakimś sposobem zablokować możliwość zmiany rozmiaru okna przez użytkownika . Zależy mi na tym bo ostatnio wzięło mnie na pisanie prostych gierek w konsoli i pasuje do nich ustawić stały rozmiar okna . Mam jeszcze jedno pytanie , przy oknie po lewej stronie jest (nie wiem jak to nazwać :) ) możliwość zjechania na dół a chciał bym by tego też nie było ( chodzi mi o absolutnie czysty ekran konsoli ) Mam nadzieję że wiecie o co mi chodzi wink Dziękuje za pomoc

 

 

 

komentarz 23 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
*ps czy da się ustawić tryb pełno ekranowy , wiem dużo mam pytań  :)

2 odpowiedzi

+1 głos
odpowiedź 23 marca 2017 przez obl Maniak (51,280 p.)
wybrane 23 marca 2017 przez Jakub 0
 
Najlepsza

Musisz użyć windows.h i taki oto kod mam wyciągnięty z jednego z moich projektów:

HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

COORD c2; //= GetLargestConsoleWindowSize(GetStdHandle(STD_OUTPUT_HANDLE)); // to pobiera możliwe największe rozmiary okna jakie możesz sobie ustawić
c2.X = 50;
c2.Y = 40;
SetConsoleScreenBufferSize(handle, c2); // ustawiasz rozmiar bufora
SMALL_RECT sr;
sr.Left = 0;
sr.Top = 0;
sr.Right = c2.X-1;
sr.Bottom = c2.Y-1;
SetConsoleWindowInfo(handle,true,&sr); // ustawiasz rozmiar okna (jednostka to szerokość i wysokość pojedynczego znaku)

 

komentarz 23 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
dzięki , o to mi chodziło
komentarz 23 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
a jest możliwość zrobienia pełnego ekranu konsoli ?
komentarz 24 marca 2017 przez obl Maniak (51,280 p.)

Po lekkiej przeróbce:

 

	HWND hwnd = GetConsoleWindow();
	ShowWindow(hwnd, SW_SHOWMAXIMIZED);

	HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD c2 = GetLargestConsoleWindowSize(GetStdHandle(STD_OUTPUT_HANDLE)); // to pobiera możliwe największe rozmiary okna jakie możesz sobie ustawić 
	//c2.X = 120;
	//c2.Y = 40;
	SetConsoleScreenBufferSize(handle, c2); // ustawiasz rozmiar bufora 
	SMALL_RECT sr;
	sr.Left = 0;
	sr.Top = 0;
	sr.Right = c2.X-1;
	sr.Bottom = c2.Y-1;
	SetConsoleWindowInfo(handle,true,&sr); // ustawiasz rozmiar okna (jednostka to szerokość i wysokość pojedynczego znaku)

 

+1 głos
odpowiedź 23 marca 2017 przez Knayder Nałogowiec (37,640 p.)
Jeżeli serio chcesz pisać fajne gierki, to po co ograniczać się do konsoli. Naucz się biblioteki graficznej (osobiście polecam SFML) i rób gry okienkowe z normalną grafiką etc.
komentarz 23 marca 2017 przez Jakub 0 Pasjonat (23,120 p.)
wiem , oczywiście planuje już niedługo :) , ale jeszcze nie zbyt dobrze moim zdaniem znam c++ żeby przesiadać się na biblioteki graficzne :( , A już teraz chciałbym pisać jakieś ciekawe projekty

Podobne pytania

0 głosów
1 odpowiedź 200 wizyt
0 głosów
0 odpowiedzi 176 wizyt
0 głosów
2 odpowiedzi 4,417 wizyt
pytanie zadane 3 kwietnia 2016 w C i C++ przez chet Nowicjusz (170 p.)

92,536 zapytań

141,376 odpowiedzi

319,449 komentarzy

61,920 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...