Hỏi cách thay đổi kích thước Console trong C++

Chào mọi người,
Em muốn thay đổi kích thước cửa sổ console khi chạy chương trình thì sao ạ? Em đã thử mọi cách nhưng chỉ hiệu quả với kích thước console nhỏ, còn với kích thước lớn hơn thì không có tác dụng.
Em xin cảm ơn trước !!!

Xài hàm này nha bạn

void resizeConsole(int width, int height)
{
	HWND console = GetConsoleWindow();
	RECT r;
	GetWindowRect(console, &r);
	MoveWindow(console, r.left, r.top, width, height, TRUE);
}
1 Like

và mặc định của cosole là chiều ngang 80 dòng, chiều dài 300 nha

Vẫn không được ạ. Sửa xong console nhỏ đến mức chỉ còn lại thanh tiêu đề thôi :disappointed_relieved:

ý bạn là sao…

bác muốn chỉnh nó nhỏ lại như vậy hả

Không có, em muốn kích thước console lớn hơn cái mặc định mà giờ nó nhỏ tới minimize luôn rồi

bác phải nhập vô cho nó to lên chứ.
trong hàm main gọi hàm resizeConsole(x,y);
bác cho x, y là số lớn ấy, 800 hay 600 là đẹp

Nếu bạn dùng Windows 10 thì đâu cần phải quan tâm đến vấn đề thay đổi kích thước console screen? Windows 10 nó cho console full screen được mà, còn Windows 8 trở xuống mới cần hàm hổ trợ change size

Ok. Lúc nãy em để size(80, 50) nên không thấy gì là phải. Nhưng mà làm sao để mất thanh cuộn bên phải màn hình và làm sao để set chính xác số dòng, số cột màn hình theo ý mình ạ?

Em dùng Win 10 nhưng không hiểu sao console nhỏ xíu. Với lại nếu full sceen thì em sẽ không quản lí được số dòng và số cột màn hình.

cái đó là do bác cho thanh chiều dọc nhiều quá nên nó hiện thanh cuộn, cho ít lại

Tầm bao nhiêu ạ, em thử nãy giờ mà không mất được thanh cuộn

muốn mất croll thì chỉ cần thay đổi Height trong Screen Buffer Size bằng với Height trong Window Size là được

Cái đó hình như không set được kích thước lớn cho console

là sao nhỉ? không hiểu ý bạn lắm?

Em dùng 2 hàm SetConsoleWindowInfo() và SetConsoleScreenBufferSize() nhưng mà kích thước console không có thay đổi gì hết (nhiều khi còn nhỏ hơn lúc chưa set nữa)
Đây là code của em:

        HANDLE wHandle;    
        HANDLE rHandle;

	wHandle = GetStdHandle(STD_OUTPUT_HANDLE);
	rHandle = GetStdHandle(STD_INPUT_HANDLE);

	SMALL_RECT windowSize = {0, 0, 999, 899};
	SetConsoleWindowInfo(wHandle, TRUE, &windowSize);
	COORD bufferSize = {500, 300};
        SetConsoleScreenBufferSize(wHandle, bufferSize);
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?