Preamble: "The monkey to old age has become weak eyes ..." (c) I.S.K.

How can I increase the font in Studios XE8-DX10, in the Messages window, where are the error messages and hints displayed?

In the editor, I raised myself to 16, but eye movements from it to Messages and back, do not add health.

I thought to look in the direction of UISpy, WinSpector, there you can find a window in run-time, in this case Messages, and change the properties, in this case, increase the font, but these tools are not available for Windows 7 x64, or they are tools that support. NET platforms .

I read somewhere that the font of the delphi compiler's output window is hard-coded. And you need to edit bds.exe in a hex editor, which is not correct and I do not know where to make edits.

Maybe there are some parameters in the registry, even if they are undocumented? Or some experts for the XE8-DX10, have similar capabilities? Can you suggest other ideas?

Please do not offer to increase the font in OS Windows - personalization. And also not to suggest editing the ModernTheme registry, this tweak does not affect the display of the font in the Messages IDE Stuido Delphi window.

  • Didn't you try Inspect.exe? He seems to be a continuation of UISpy (I can not check it myself). As for the experts: I did not see such functionality, but most likely it can be very easily implemented independently. - Vasek
  • I tried all these tools, the result is zero. About that "easy to implement" if all the programs were written in the language. o_O Strange that no one bothered before. And it’s strange that the developers didn’t foresee, and the font size was hard-coded. - Alex Fish

1 answer 1

A chain of disappointing conclusions:

  1. Even in RAD 10 Seattle it’s not possible to change the font size in the Messages window with any visual settings. All further actions were carried out exactly in RAD 10 .

  2. Utilities like WinspectorSpy said that the Messages content window is of type TBetterHintWindowVirtualDrawTree , which already speaks very transparently about the low probability of using "standard" properties like TFont , because All drawing on VirtualDrawTree is handled in the relevant events. This VirtualDrawTree is located on TMessageViewForm

  3. Of the experts, I am a fairly happy user of CnPack (do not think about what - I do not advertise). They have the ability to run your own scripts that are able to customize the IDE. Looking at one of the examples that increases the font in the Object Inspector , I wrote a slightly extended analog for the Messages window (for the Object Inspector, just setting the font for its main form is enough):

 program MessagesFont; uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, TypInfo; procedure SetFontSize(WinControl: TWinControl); var i: integer; f: TFont; begin if IsPublishedProp(WinControl, 'font') then begin f := TFont(GetObjectProp(WinControl, 'font')); f.Size:=14; end; for i := 0 to WinControl.ControlCount-1 do if WinControl.Controls[i] is TWinControl then SetFontSize(TWinControl(WinControl.Controls[i])); end; var MsgForm: TForm; I: Integer; f: TFont; begin MsgForm := nil; for I := 0 to Screen.FormCount - 1 do begin if Screen.Forms[I].ClassNameIs('TMessageViewForm') then begin MsgForm := Screen.Forms[I]; Break; end; end; if MsgForm = nil then begin ErrorDlg('Messages Not Found.'); Exit; end; MsgForm.Caption := 'Font-Changed Messages'; SetFontSize(MsgForm); end. 

Unfortunately, everything in the Messages window increases (even the font of the text on the tabs), except for the messages themselves. In the presented code, I removed the output of debugging messages, however, I must say that the window itself with the type TBetterHintWindowVirtualDrawTree successfully located and the font size is successfully set.

I’m forced to make a general conclusion - the size and style of the font in the panel displaying Messages experts can hardly be set, since even setting parameters successfully in 'runtime' does not give the desired effect.

  • I apologize for the long silence. @kami, thank you so much and respect, for such a thorough study of the issue and immersion in the problem. I, in my turn, managed to dig up such a thing: try to find out how to get it. . This unit is part of Delphi-IDE-Colorizer, available on GiHub, doped to DX10.1 Berlin. I'll dig myself in that direction ... - Alex Fish