Font Grösse Ändern in der Console

Anfängerfragen zum Programmieren mit PureBasic.
Skyhawk
Beiträge: 24
Registriert: 04.04.2005 20:41
Wohnort: Düsseldorf

Font Grösse Ändern in der Console

Beitrag von Skyhawk »

Hallo,
tja meine ersten gehversuche mach ich gerade mit nem doch stark modifiziertem "Hallo World" Programm, aber ich vermisse die
Funktion die Font grösse zu ändern bzw. habe den befehl nicht gefunden,

gibt es da keinen für die Consolen oberfläche?? :)
Benutzeravatar
MVXA
Beiträge: 3823
Registriert: 11.09.2004 00:45
Wohnort: Bremen, Deutschland
Kontaktdaten:

Beitrag von MVXA »

Nö. Wie hast du dir das vorgestellt. Die Konsole ist kein Editorgadget. Hier eine Liste mit Funktionen, die du in deinem Programm ausführen kannst, sofern du die Vollversion von PB besitzt. Andernfalls musst du die DLL Kernel32.dll manuel öffnen und die Funktion so ausführen.

http://msdn.microsoft.com/library/defau ... ctions.asp
Bild
Skyhawk
Beiträge: 24
Registriert: 04.04.2005 20:41
Wohnort: Düsseldorf

Beitrag von Skyhawk »

habs mir schon gedacht das dies nicht möglich ist inner Console.

Hätte ja sein können das ich nur den befehl nicht gefunden habe, aber wenns ned geht :D

Thx
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

Damit sollte es möglich sein. Bei mir funktioniert es jeden falls prima.
Ich bin durch Zufall drauf gestossen weil ich grad an einem (Konsolen)Batch-Interpreter bastel.
Ich wusste von Anfang an, daß es möglich ist. Weil kein Grund dagegen spricht. Nur hab ich die Console immer wie ein normales Fenster behandeln wollen.
Man lernt dazu.

Code: Alles auswählen

;/***************************************************/;
;/**         Xtended Console Version 1.1.0         **/;
;/**  (c) 2003 by NoOneKnows <NoOneKnows@Gmx.de>   **/;
;/***************************************************/;
Procedure ConsoleWindowCharSize(characterWidth.l, characterHeight.l)
    consoleInfo.CONSOLE_SCREEN_BUFFER_INFO
    GetConsoleScreenBufferInfo_(gStdOut, @consoleInfo)

    rect.SMALL_RECT
    rect\bottom = characterHeight - 1
    rect\right = characterWidth - 1

    If rect\bottom > consoleInfo\dwSize\y
        rect\bottom = consoleInfo\dwSize\y - 1
    EndIf
    If rect\right > consoleInfo\dwSize\x
        rect\right = consoleInfo\dwSize\x - 1
    EndIf
    SetConsoleWindowInfo_(gStdOut, 1, @rect)
EndProcedure
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

@Hroudtwolf
Es geht um den Font , nicht um die Fenstergröße.

Code: Alles auswählen

;/***************************************************/;
;/**         Xtended Console Version 1.1.0         **/;
;/**  (c) 2003 by NoOneKnows <NoOneKnows@Gmx.de>   **/;
;/***************************************************/;
Global gStdOut.l
Procedure ConsoleWindowCharSize(handle,characterWidth.l, characterHeight.l)
    consoleInfo.CONSOLE_SCREEN_BUFFER_INFO
    GetConsoleScreenBufferInfo_(gStdOut, @consoleInfo)
    
    rect.SMALL_RECT
    rect\bottom = characterHeight - 1
    rect\right = characterWidth - 1
    
    If rect\bottom > consoleInfo\dwSize\y
        rect\bottom = consoleInfo\dwSize\y - 1
    EndIf
    If rect\right > consoleInfo\dwSize\x
        rect\right = consoleInfo\dwSize\x - 1
    EndIf
    SetConsoleWindowInfo_(gStdOut, 1, @rect)
    ProcedureReturn gStdOut
EndProcedure


gStdOut=OpenConsole()
Print ("Tach Auch!")
For i= 1 To 80
    ConsoleWindowCharSize(gStdOut,i, 1)
    ;Print ("")
    Delay(7)
Next i
For ii=1 To 23
    ConsoleWindowCharSize(gStdOut,80, ii)
    ;Print ("")
    Delay(8)
Next ii
Input()
For ii=23 To 1 Step -1
    ConsoleWindowCharSize(gStdOut,80, ii)
    Delay(8)
Next ii
For i=80 To 1 Step -1
    ConsoleWindowCharSize(gStdOut,i, 1)
    
    Delay(10)
Next i

CloseConsole()
oder mach ich da was falsch?
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Lukas-P
Beiträge: 262
Registriert: 07.10.2004 12:03

Beitrag von Lukas-P »

:-D
Antworten