30/09/2018, 23:43

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 !!!

Mai Hữu viết 01:48 ngày 01/10/2018

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);
}
Mai Hữu viết 01:50 ngày 01/10/2018

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

Nguyễn Duy viết 01:59 ngày 01/10/2018

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

Mai Hữu viết 01:44 ngày 01/10/2018

ý bạn là sao…

Nguyễn Duy viết 01:43 ngày 01/10/2018

Mai Hữu viết 01:47 ngày 01/10/2018

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

Nguyễn Duy viết 01:49 ngày 01/10/2018

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

Mai Hữu viết 01:49 ngày 01/10/2018

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

Người bí ẩn viết 01:49 ngày 01/10/2018

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

Nguyễn Duy viết 01:47 ngày 01/10/2018

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 ạ?

Nguyễn Duy viết 01:47 ngày 01/10/2018

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.

Mai Hữu viết 01:49 ngày 01/10/2018

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

Nguyễn Duy viết 01:58 ngày 01/10/2018

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

Nguyễn Xuân Phúc viết 01:57 ngày 01/10/2018

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

Nguyễn Duy viết 01:58 ngày 01/10/2018

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

Nguyễn Xuân Phúc viết 01:49 ngày 01/10/2018

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

Nguyễn Duy viết 01:47 ngày 01/10/2018

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);
Bài liên quan
0