Seite 1 von 1

Konsolenfenster

Verfasst: 10.09.2019 12:47
von Sylvia
Seit längerem stört mich die mickrige Größe des Konsolenfensters auf einem 4k-Monitor. Lässt sich das Konsolenfenster rein optisch irgendwie vergrößern (z.B.auf die doppelte Größe)?

Re: Konsolenfenster

Verfasst: 10.09.2019 12:51
von RSBasic
Damit kannst du die Größe ändern:

Code: Alles auswählen

EnableExplicit

ImportC "msvcrt.lib"
  system(cmd.p-ascii)
EndImport

If OpenConsole("Meine Konsole")
  system("mode 200,60")
  
  Input()
  
  CloseConsole()
EndIf
(nur Windows)

Re: Konsolenfenster

Verfasst: 10.09.2019 17:06
von Sylvia
Danke, RSBasic.

Das meinte ich aber nicht. Ich möchte es einfach "zoomen" irgendwie, so dass die Darstellung grösser wird

Re: Konsolenfenster

Verfasst: 10.09.2019 17:16
von RSBasic
Wenn DPI aktiviert ist und auf deinem Monitor genutzt wird (z.B. 200 %), sollte es ausreichen und wird von Windows automatisch skaliert.
Aber nur das Konsolenfenster zu vergrößern, ist mir keine Lösung bekannt. Aber ich stelle gerade fest, dass man unter Windows 10 mit Strg+Scrollrad den Inhalt des Konsolenfensters vergrößern kann. Das ist mir neu. Ich weiß aber gerade nicht, ob es eine WinAPI-Funktion gibt, um den Zoom-Wert festzulegen.
Alternatv könnte man mit mouse_event_() das Scrollen simulieren:

Code: Alles auswählen

EnableExplicit

Define a

If OpenConsole("Meine Konsole")
  keybd_event_(#VK_CONTROL, #Null, #Null, #Null)
  For a=1 To 20
    mouse_event_(#MOUSEEVENTF_WHEEL, 0, 0, #WHEEL_DELTA, 0)
  Next
  keybd_event_(#VK_CONTROL, #Null, #KEYEVENTF_KEYUP, #Null)
  Input()
  
  CloseConsole()
EndIf
Das würde ich aber nur als letzte Lösung nutzen, wenn keine andere Möglichkeit gibt.

Re: Konsolenfenster

Verfasst: 11.09.2019 00:40
von mk-soft
Anderen Zeichensatz wählen, Oben links...

Windows merk sich die Einstellung für das Konsolen-Fenster.

Re: Konsolenfenster

Verfasst: 11.09.2019 15:24
von Mijikai
Es gibt eine Funktion um die Font zu ändern SetConsoleFont() (kernel32) eventuell geht es damit.

Re: Konsolenfenster

Verfasst: 11.09.2019 15:50
von RSBasic
Hier ein Beispielcode: https://www.purebasic.fr/english/viewto ... 74#p462074
Unter Windows bekomme ich aber:
PureBasic - Linker error hat geschrieben:POLINK: error: Unresolved external symbol 'GetNumberOfConsoleFonts'.

POLINK: error: Unresolved external symbol 'SetConsoleFont'.

POLINK: fatal error: 2 unresolved external(s).

Re: Konsolenfenster

Verfasst: 11.09.2019 16:59
von Sylvia
Danke euch allen! Wieder was dazugelernt!

@mk-soft:
Bullseye!! DAS war's ! :allright:

Re: Konsolenfenster

Verfasst: 11.09.2019 18:59
von Mijikai
Habs mal getestet:

Code: Alles auswählen

EnableExplicit

Import "kernel32.Lib"
  SetCurrentConsoleFontEx.i(hOut.i,bMaximumWindow.b,*lpConsoleCurrentFontEx)
EndImport

Structure CONSOLE_FONT_INFOEX
  cbSize.l
  nFont.l
  dwFontSize.COORD
  FontFamily.l
  FontWeight.l
  FaceName.u[#LF_FACESIZE]
EndStructure


Global cfi.CONSOLE_FONT_INFOEX

OpenConsole()

With cfi.CONSOLE_FONT_INFOEX
  \cbSize = SizeOf(CONSOLE_FONT_INFOEX)
  \dwFontSize\X = 0
  \dwFontSize\Y = 48
  \FontWeight = #FW_BOLD
EndWith

PokeS(@cfi\FaceName, "Lucida Console", -1, #PB_Unicode)

SetCurrentConsoleFontEx(GetStdHandle_(#STD_OUTPUT_HANDLE), 1, @cfi)
PrintN("The quick brown fox jumped over the lazy dog.")
Input()

CloseLibrary(0)
End

Re: Konsolenfenster

Verfasst: 11.09.2019 19:05
von RSBasic
:allright: