|
Window and Screen Buffer Size
The size of a screen buffer is expressed in terms of a coordinate grid based
on character cells. The width is the number of character cells in each row, and
the height is the number of rows. Associated with each screen buffer is a
window that determines the size and location of the rectangular portion of the
screen buffer displayed in the console window. A screen buffer's window is defined
by specifying the character-cell coordinates of the upper left and lower right
cells of the window's rectangle.
A screen buffer can be any size, limited only by available memory. The
dimensions of a screen buffer's window cannot exceed the corresponding dimensions of
either the screen buffer or the maximum window that can fit on the screen based
on the current font size (controlled exclusively by the user).
The GetConsoleScreenBufferInfo function returns the following information about a screen buffer and its
window:
- The current size of the screen buffer
- The current location of the window
- The maximum size of the window given the current screen buffer size, the
current font size, and the screen size
The GetLargestConsoleWindowSize function returns the maximum size of a console's window based on the current
font and screen sizes. This size differs from the maximum window size returned
by GetConsoleScreenBufferInfo in that the screen buffer size is ignored.
To change a screen buffer's size, use the SetConsoleScreenBufferSize function. This function fails if either dimension of the specified size is
less than the corresponding dimension of the console's window.
To change the size or location of a screen buffer's window, use the SetConsoleWindowInfo function. This function fails if the specified window-corner coordinates
exceed the limits of the screen buffer or the screen. Changing the window size of
the active screen buffer changes the size of the console window displayed on the
screen.
A process can change its console's input mode to enable window input so that
the process is able to receive input when the user changes the screen buffer
size. If an application enables window input, it can use GetConsoleScreenBufferInfo to retrieve window and screen buffer size at startup. This information can
then be used to determine the way data is displayed in the window. If the user
changes the screen buffer size, the application can respond by changing the way
data is displayed. For example, an application can adjust the way text wraps at
the end of the line if the number of characters per row changes. If an
application does not enable window input, it must either use the inherited window and
screen buffer sizes, or set them to the desired size during startup and restore
the inherited sizes at exit. For additional information about window input
mode, see Low-Level Console Modes.
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|