Перейти к содержимому

Как изменить размер шрифта консоли с

  • автор:

Formatted Text. Set Font Size Метод

Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.

Задает размер шрифта.

Перегрузки

Задает размер шрифта для всего набора символов в объекте FormattedText.

Задает размер шрифта для заданного подмножества символов в объекте FormattedText.

SetFontSize(Double)

Задает размер шрифта для всего набора символов в объекте FormattedText.

public: void SetFontSize(double emSize);
public void SetFontSize (double emSize);
member this.SetFontSize : double -> unit
Public Sub SetFontSize (emSize As Double)
Параметры

Размер измерения шрифта «em», предоставляемый в независимых от устройства единицах (1/96 дюйма на единицу).

Комментарии

Этот метод задает значение размера шрифта для всей текстовой строки. Чтобы задать значение размера шрифта для подмножества текстовой строки, используйте SetFontSize метод .

Применяется к

SetFontSize(Double, Int32, Int32)

Задает размер шрифта для заданного подмножества символов в объекте FormattedText.

public: void SetFontSize(double emSize, int startIndex, int count);
public void SetFontSize (double emSize, int startIndex, int count);
member this.SetFontSize : double * int * int -> unit
Public Sub SetFontSize (emSize As Double, startIndex As Integer, count As Integer)
Параметры

Размер измерения шрифта «em», предоставляемый в независимых от устройства единицах (1/96 дюйма на единицу).

startIndex Int32

Начальный индекс исходного символа, к которому применяется размер шрифта.

Число символов, к которым применяется размер шрифта.

Примеры

В следующем примере создается FormattedText объект , а затем к тексту применяется несколько стилей форматирования, включая SetFontSize.

protected override void OnRender(DrawingContext drawingContext) < string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"; // Create the initial formatted text string. FormattedText formattedText = new FormattedText( testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, new Typeface("Verdana"), 32, Brushes.Black); // Set a maximum width and height. If the text overflows these values, an ellipsis ". " appears. formattedText.MaxTextWidth = 300; formattedText.MaxTextHeight = 240; // Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters. // The font size is calculated in terms of points -- not as device-independent pixels. formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5); // Use a Bold font weight beginning at the 6th character and continuing for 11 characters. formattedText.SetFontWeight(FontWeights.Bold, 6, 11); // Use a linear gradient brush beginning at the 6th character and continuing for 11 characters. formattedText.SetForegroundBrush( new LinearGradientBrush( Colors.Orange, Colors.Teal, 90.0), 6, 11); // Use an Italic font style beginning at the 28th character and continuing for 28 characters. formattedText.SetFontStyle(FontStyles.Italic, 28, 28); // Draw the formatted text string to the DrawingContext of the control. drawingContext.DrawText(formattedText, new Point(10, 0)); >
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext) Dim testString As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor" ' Create the initial formatted text string. Dim formattedText As New FormattedText(testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 32, Brushes.Black) ' Set a maximum width and height. If the text overflows these values, an ellipsis ". " appears. formattedText.MaxTextWidth = 300 formattedText.MaxTextHeight = 240 ' Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters. ' The font size is calculated in terms of points -- not as device-independent pixels. formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5) ' Use a Bold font weight beginning at the 6th character and continuing for 11 characters. formattedText.SetFontWeight(FontWeights.Bold, 6, 11) ' Use a linear gradient brush beginning at the 6th character and continuing for 11 characters. formattedText.SetForegroundBrush(New LinearGradientBrush(Colors.Orange, Colors.Teal, 90.0), 6, 11) ' Use an Italic font style beginning at the 28th character and continuing for 28 characters. formattedText.SetFontStyle(FontStyles.Italic, 28, 28) ' Draw the formatted text string to the DrawingContext of the control. drawingContext.DrawText(formattedText, New Point(10, 0)) End Sub 

Комментарии

Чтобы задать значение размера шрифта для всей текстовой строки, используйте SetFontSize метод .

Сменить шрифт в консоли

int main(int argc, char* argv[])
HMODULE hmod = GetModuleHandleA(«KERNEL32.DLL»); // функция здесь
SetConsoleFont =(SETCONSOLEFONT) GetProcAddress(hmod, «SetConsoleFont»); // берем ее адрес
if (!SetConsoleFont)

Купить рекламу на сайте за 1000 руб

пишите сюда — alarforum@yandex.ru


Да и по любым другим вопросам пишите на почту

  • Форум Web программирование (веб)
    • Форум Python (питон)
    • Форум PHP (пхп)
    • Форум Perl (перл)
    • Форум Ruby (руби)
    • Форум JavaScript (яваскрипт)
    • Форум Ajax (аякс)
    • Форум SQL (эскюэл)
    • Форум HTML (хтмл)
    • Форум CSS (сиэсэс)
    • Форум XML (иксмл)
    • Форум JSON (джсон)
    • Форум Pascal (паскаль)
    • Форум Delphi (делфи)
    • Форум C++ (си плюс плюс)
      • Форум C++ Builder (си билдер)
      • Форум Visual C++ (визуал си)
      • Форум .NET (точка нет)
      • Форум ASP.NET (асп нет)
      • Форум Windows Forms (виндовс формс)
      • Форум базы данных ADO.NET (адо нет)
      • Форум .NET Framework WPF, UWP, WinRT, XAML ()
      • Форум Java Android (джава андроид)
      • Форум Java web (джава веб)
      • Форум Kotlin (котлин)
      • Форум Assembler (ассемблер)
      • Форум WinApi (вин апи)
      • Форум Excel (эксель)
      • Форум Word (ворд)
      • Форум Access (аксесс)
      • Форум по администрированию ОС
      • Форум по администрированию серверов и VDS
      • Форум Windows
      • Форум Ubuntu
      • Форум Android

      Как изменить размер шрифта консоли с

      Первая ссылка в яндексе:

      // Windows XP SP3; BDS 2006; 21.03.2009; // основано на материале с http://cboard.cprogramming.com/showthread.php?p=745558 #include #include using namespace std; typedef BOOL (WINAPI *SETCONSOLEFONT)(HANDLE, DWORD); // прототип недокументированый функции SETCONSOLEFONT SetConsoleFont; int main(int argc, char* argv[]) < HMODULE hmod = GetModuleHandleA("KERNEL32.DLL"); // функция здесь SetConsoleFont =(SETCONSOLEFONT) GetProcAddress(hmod, "SetConsoleFont"); // берем ее адрес if (!SetConsoleFont) // если ошибка SetConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE),10); // устанавливаем 10 шрифт.. //эксперементально установил что в обычной XP это Lucida Console 14. //хз везде это ли - покажет практика. SetConsoleOutputCP(1251) ; // устанавливаем кодировку вывода cout

      Код не проверял. Благодарить не нужно.

      #include #include using namespace std; typedef struct _CONSOLE_FONT_INFOEX < ULONG cbSize; DWORD nFont; COORD dwFontSize; UINT FontFamily; UINT FontWeight; WCHAR FaceName[LF_FACESIZE]; >CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; typedef BOOL (WINAPI *SETCONSOLEFONT)(HANDLE, DWORD); // прототип недокументированый функции для XP typedef BOOL (WINAPI *SETCURRENTCONSOLEFONTEX)(HANDLE,BOOL, PCONSOLE_FONT_INFOEX); // для vista SETCURRENTCONSOLEFONTEX SetCurrentConsoleFontEx ; SETCONSOLEFONT SetConsoleFont; int main(int argc, char* argv[]) < OSVERSIONINFOEX osvi; CONSOLE_FONT_INFOEX cfon; ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX)); osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); GetVersionEx((OSVERSIONINFO *) &osvi) ; // получение версии винды HMODULE hmod = GetModuleHandleA("KERNEL32.DLL"); // функции здесь if (osvi.dwMajorVersion<6) < // xp или ниже : для 9x не проверял. SetConsoleFont =(SETCONSOLEFONT) GetProcAddress(hmod, "SetConsoleFont"); // берем адрес функции if (!SetConsoleFont) // если ошибка SetConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE),10); // устанавливаем 10 шрифт.. //эксперементально установил что в обычной XP это Lucida Console 14. //хз везде это ли - покажет практика. > else < SetCurrentConsoleFontEx =(SETCURRENTCONSOLEFONTEX) GetProcAddress(hmod, "SetCurrentConsoleFontEx"); // берем адрес функции if (!SetCurrentConsoleFontEx) // если ошибка ZeroMemory(&cfon, sizeof(CONSOLE_FONT_INFOEX)); cfon.cbSize=sizeof(CONSOLE_FONT_INFOEX); //cfon.nFont=10; cfon.FontFamily=54; // Lucida Console if (!SetCurrentConsoleFontEx(GetStdHandle(STD_OUTPUT_HANDLE), false, &cfon)) cout SetConsoleOutputCP(1251) ; // устанавливаем кодировку вывода cout

      Последний раз редактировалось Stilet; 27.05.2013 в 08:25 .

      Как изменить размер шрифта консоли с

      да так, чтоб не просто, а поменять на Lucida Console, к примеру (чтобы именно код менял, а не ручками)? И еще нет ли какой-нибудь функции, которая бы просто меняла размер текущего шрифта, чтоб не передавать лишние параметры.

      05.01.09 00:28: Перенесено модератором из 'C/C++' — хотя тут и привели решение для линукса, название шрифта у топикстартера говорит само за себя — Кодт

      Re: как можно изменить шрифт в консоли в С++ программно?

      От: Roman Odaisky
      Дата: 02.01.09 22:24
      Оценка:

      Здравствуйте, neon7515, Вы писали:

      N>да так, чтоб не просто, а поменять на Lucida Console, к примеру (чтобы именно код менял, а не ручками)? И еще нет ли какой-нибудь функции, которая бы просто меняла размер текущего шрифта, чтоб не передавать лишние параметры.

      Только платформенно-зависимыми методами. Выяснить идентификатор окна консоли и послать ему нужные сообщения.

      Например, для Konsole можно с помощью DCOP:

      #include #include #include int main(int argc, char** argv) < if(argc == 2) < execlp("dcop", "dcop", getenv("KONSOLE_DCOP_SESSION"), "setFont", argv[1], (char const *)NULL); perror("exec"); > >

      Для других консолей, естественно, нужны другие методы. Программа на C/C++, а равно и на других языках, вообще понятия не имеет, в консоли ли ее запустили.

      До последнего не верил в пирамиду Лебедева.
      Re[2]: как можно изменить шрифт в консоли в С++ программно?

      От: Vamp
      Дата: 08.01.09 22:39
      Оценка:

      RO>Для других консолей, естественно, нужны другие методы. Программа на C/C++, а равно и на других языках, вообще понятия не имеет, в консоли ли ее запустили.
      Спорное утверждение.

      Да здравствует мыло душистое и веревка пушистая.
      Re[3]: как можно изменить шрифт в консоли в С++ программно?

      От: Roman Odaisky
      Дата: 09.01.09 08:51
      Оценка:

      Здравствуйте, Vamp, Вы писали:

      RO>>Для других консолей, естественно, нужны другие методы. Программа на C/C++, а равно и на других языках, вообще понятия не имеет, в консоли ли ее запустили.
      V>Спорное утверждение.

      По крайней мере, в стандарте C++ отсутствуют средства определения того, где программу запустили. Там даже isatty нет.

      До последнего не верил в пирамиду Лебедева.
      Re[4]: как можно изменить шрифт в консоли в С++ программно?

      От: CreatorCray
      Дата: 09.01.09 09:39
      Оценка:

      Здравствуйте, Roman Odaisky, Вы писали:

      RO>По крайней мере, в стандарте C++ отсутствуют средства определения того, где программу запустили. Там даже isatty нет.
      А при чем тут C++?
      Надо API операционки использовать чтоб узнать специфические для OS характеристики окружения программы.

      Re[5]: как можно изменить шрифт в консоли в С++ программно?

      От: Roman Odaisky
      Дата: 09.01.09 09:50
      Оценка:

      Здравствуйте, CreatorCray, Вы писали:

      RO>>По крайней мере, в стандарте C++ отсутствуют средства определения того, где программу запустили. Там даже isatty нет.
      CC>А при чем тут C++?
      CC>Надо API операционки использовать чтоб узнать специфические для OS характеристики окружения программы.

      Сообщение изначально было в C/C++, и переехало в WinAPI, и автор, по-видимому, его потерял и не сможет сказать, правильно ли Кодт телепатически угадал ОС.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *