Сопоставить размер буфера с размером окнаC#

Место общения программистов C#
Ответить
Гость
 Сопоставить размер буфера с размером окна

Сообщение Гость »


Этот код делает окно консоли без полей и полноразмерным:

public static Coord InitializeConsole(nint consoleHandle, nint stdOutput, int fontWidth, int fontHeight, ColorPalette colorPalette) { вар consoleRect = новый RECT(); GetWindowRect (consoleHandle, ссылка consoleRect); вар DesktopWidth = GetSystemMetrics (0); вар DesktopHeight = GetSystemMetrics (1); _ = SetWindowLong(consoleHandle, -16, 0x00080000); вар csbe = новый CONSOLE_SCREEN_BUFFER_INFO_EX(); csbe.cbSize = Marshal.SizeOf(csbe); GetConsoleScreenBufferInfoEx (stdOutput, ref csbe); SetColorPalette (stdOutput, colorPalette, ref csbe); csbe.dwSize.X = (короткий)(desktopWidth/fontWidth); csbe.dwSize.Y = (короткий)(desktopHeight/fontHeight); ++csbe.srWindow.Bottom; ++csbe.srWindow.Right; SetConsoleScreenBufferInfoEx (stdOutput, ref csbe); УстановитьWindowPos( консольHandle, нинт.Ноль, 0, 0, ширина окна, окноВысота, 0x0040); DrawMenuBar (consoleHandle); GetConsoleScreenBufferInfoEx (stdOutput, ref csbe); return new(csbe.dwSize.X, csbe.dwSize.Y); } Моя проблема в том, что при некоторых высотах шрифта буфер консоли слишком велик для окна консоли и появляется полоса прокрутки.

Как установить размер буфера, чтобы полоса прокрутки никогда не появлялась?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»