Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C++

C++ -> Drawing Rectangles to Console

4.83/5 (6 votes)
25 Aug 2011CPOL 52.9K  
C++ -> Drawing Rectangles to Console
For drawing rectangles to console, I have two functions. It draws a rectangle with ASCII chars :)

One sets the cursor position. The second one draws the rectangle.

The code:

C++
//DrawRect.h
//Caner Korkmaz
#pragma once

//The libs
#include <iostream>
#include <Windows.h>

/*
 *This method sets the cursor position.
 *Usage:
 *setxy(1,1);
 */
BOOL setxy(int x, int y)
{
	COORD c = {x,y};
	return SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}

/*
 *This method draws the rectangle.
 *Usage:
 *DrawRect(1,1,10,10);
 *or
 *DrawRect(1,1,10,10,20,5);
 */
void DrawRect(int x, int y, int width, int height, int curPosX=0, int curPosY=0)
{
	setxy(x,y);cout << char(201);
	for(int i = 1; i < width; i++)cout << char(205);
	cout << char(187);
	setxy(x,height + y);cout << char(200);
	for(int i = 1; i < width; i++)cout << char(205);
	cout << char(188);
	for(int i = y + 1; i < height + y; i++)
	{
		setxy(x,i);cout << char(186);
		setxy(x + width,i);cout << char(186);
	}
	setxy(curPosX,curPosY);
}

Copy the code in a header file -> then use in your projects or games :)

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)