954,479 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

How can I change console application font size?

I am writing a Win32 Console application and I need to change the font size to 18x10 pixels. I think this can be done with a function in windows.h but Im not sure which one or how to do it.

f_escobar82
Newbie Poster
4 posts since Feb 2005
Reputation Points: 11
Solved Threads: 0
 

The function is called CreateFont(), not something for the faint at heart!

[php]
HFONT CreateFont(
int nHeight, // logical height of font
int nWidth, // logical average character width
int nEscapement, // angle of escapement
int nOrientation, // base-line orientation angle
int fnWeight, // font weight
DWORD fdwItalic, // italic attribute flag
DWORD fdwUnderline, // underline attribute flag
DWORD fdwStrikeOut, // strikeout attribute flag
DWORD fdwCharSet, // character set identifier
DWORD fdwOutputPrecision, // output precision
DWORD fdwClipPrecision, // clipping precision
DWORD fdwQuality, // output quality
DWORD fdwPitchAndFamily, // pitch and family
LPCTSTR lpszFace // pointer to typeface name string
);
[/php]

vegaseat
DaniWeb's Hypocrite
Moderator
5,986 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 

I dont think this function will work for console apps. The program Im writing runs in DOS window.

f_escobar82
Newbie Poster
4 posts since Feb 2005
Reputation Points: 11
Solved Threads: 0
 
I dont think this function will work for console apps. The program Im writing runs in DOS window.


There is a code snippet on DaniWeb called "Add WinBGI Graphics to your Console" at: http://www.daniweb.com/code/snippet176.html
check the lines ...
[php]
setcolor(YELLOW);
settextstyle(DEFAULT_FONT, HORIZ_DIR, 2); // 2 = size
outtextxy(20, 320, "Press any key ... ");
getch(); // wait
[/php]
Maybe you can modify these to suit your needs.

vegaseat
DaniWeb's Hypocrite
Moderator
5,986 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 

thanks vegaseat, I dont think i explained what Im trying to do very well. I already have a working application that runs in a console window. But the default text is too small. This can be fixed by opening the console properties while the app is running and changing the font size to 18x10 and the screen buffer size to 79 characters wide by 25 characters high. I would like to be able to change these settings through to code. Windows.h includes a function called:

SetConsoleScreenBufferSize();

msdn describes it here:

http://www.symbolictools.de/public/pocketconsole/patches/HELP/htm/PortSDK/winbase/conchar_7sv9.htm

the problem is that Im having trouble understanding how it works. I found a listing of various console functions here:

http://www.symbolictools.de/public/pocketconsole/patches/HELP/htm/PortSDK/winbase/conchar_3vg3.htm

but the documentation is somewhat vague.

f_escobar82
Newbie Poster
4 posts since Feb 2005
Reputation Points: 11
Solved Threads: 0
 

heres a function that I wrote, but it seems to have no effect.

void consoleResize(unsigned int x, unsigned int y)
{
	COORD coord;
	HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);

	coord.X = x;
	coord.Y = y;

	SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
f_escobar82
Newbie Poster
4 posts since Feb 2005
Reputation Points: 11
Solved Threads: 0
 

heres a function that I wrote, but it seems to have no effect.

void consoleResize(unsigned int x, unsigned int y)
{
	COORD coord;
	HANDLE hStdout = GetStdHandle(STD_OUTPUT_HANDLE);

	coord.X = x;
	coord.Y = y;

	SetConsoleScreenBufferSize(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}


Check under InvalidateRect() to force an update your your screen.

vegaseat
DaniWeb's Hypocrite
Moderator
5,986 posts since Oct 2004
Reputation Points: 1,345
Solved Threads: 1,417
 

Hi,

I wonder if you can go to your user community and just change the DOC in the README to change the environment defined by the icon. Right-click on the icon, change the properties to this x that, and then save. Yes, it is a user step. Or, maybe you alter your installer to do the configuration for you!

Christian

kc0arf
Posting Virtuoso
Team Colleague
1,937 posts since Mar 2004
Reputation Points: 121
Solved Threads: 57
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You