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.

Re: How can I change console application font size? 80 80

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

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 
   );
Re: How can I change console application font size? 80 80

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

Re: How can I change console application font size? 80 80

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

setcolor(YELLOW);
settextstyle(DEFAULT_FONT, HORIZ_DIR, 2); // 2 = size
outtextxy(20, 320, "Press any key ... ");
getch();  // wait

Maybe you can modify these to suit your needs.

Re: How can I change console application font size? 80 80

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.

Re: How can I change console application font size? 80 80

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);
}
Re: How can I change console application font size? 80 80

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.

Re: How can I change console application font size? 80 80

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

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.18 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.