Seite 1 von 2
Fenstertitel: Schriftfarbe, mittelbündig, Größe etc ?
Verfasst: 27.09.2007 16:39
von c4s
Also meine Frage diesmal ist, wie man die Schrift (also Farbe, Ausrichtung
usw) eines Fenstertitels einstellen kann?
Das es geht weiß ich, da ich z.B. schonmal eine Windows-Theme hatte, die
jeden Fenstertitel mittelbündig geschrieben hatte. Bei einem Bild von einem
Programm in einem Buch ("das große Tafelwerk interaktiv" auf der letzten
Seite mit dem Beispielbild für ihr Programm) war sogar die Farbe anders und
die Schriftart kursiv...
Ich bin mir wieder nicht sicher ob das eher zu "API" gehört. Naja erstmal ist
dieser Thread hier vielleicht ganz gut aufgehoben.
Freue mich auf jede Antwort
mfg c4s!
Re: Fenstertitel: Schriftfarbe, mittelbündig, Größe etc ?
Verfasst: 27.09.2007 16:57
von Kiffi
c4s hat geschrieben:Also meine Frage diesmal ist, wie man die Schrift (also Farbe, Ausrichtung
usw) eines Fenstertitels einstellen kann?
Start -> Einstellungen -> Systemsteuerung -> Anzeige
Grüße ... Kiffi
Verfasst: 27.09.2007 17:13
von bobobo
Farbe, Stil ..ok .. aber Ausrichtung ?
Verfasst: 27.09.2007 17:25
von Fluid Byte
bobobo hat geschrieben:Farbe, Stil ..ok .. aber Ausrichtung ?
Nix Ausrichtung. Das musst du selber programmieren.
Re: Fenstertitel: Schriftfarbe, mittelbündig, Größe etc ?
Verfasst: 27.09.2007 17:45
von c4s
Kiffi hat geschrieben:c4s hat geschrieben:Also meine Frage diesmal ist, wie man die Schrift (also Farbe, Ausrichtung
usw) eines Fenstertitels einstellen kann?
Start -> Einstellungen -> Systemsteuerung -> Anzeige
Grüße ... Kiffi
Ich meine natürlich von einem PB-Programm
Gibt es da nicht irgendwelche API-Befehle im Stile von SetWindowTitleStyle_()?
Verfasst: 27.09.2007 21:42
von Ligatur
Hallo,
eine solche Funktion gibt es so viel ich weiß nicht. Du kannst aber über die Windowmessage WM_NCPAINT den Rahmen selber zeichnen und dann den Titel so aufbauen wie du möchtest. Allerdings weiß ich nicht, ob man dann auch selber dafür zuständig ist, die Titelleistenschaltflächen selber zu zeichnen.
Grüße,
Ligatur
Verfasst: 27.09.2007 21:55
von c4s
Ligatur hat geschrieben:Hallo,
eine solche Funktion gibt es so viel ich weiß nicht. Du kannst aber über die Windowmessage WM_NCPAINT den Rahmen selber zeichnen und dann den Titel so aufbauen wie du möchtest. Allerdings weiß ich nicht, ob man dann auch selber dafür zuständig ist, die Titelleistenschaltflächen selber zu zeichnen.
Grüße,
Ligatur
Hört sich schonmal relativ vielversprechend an.
Aber mit Win-API kenne ich mich leider noch nicht allzu gut aus...
Über "Windowmessage WM_NCPAINT" eine Titelleiste zeichnen sagt mir wirklich gar nichts!
Kannst du / kann mir einer da einen klitzekleinen Beispielcode zeigen?
Verfasst: 27.09.2007 22:01
von Fluid Byte
Lass es bleiben. Es bringt viel mehr Probleme mit sich als es Nutzen hat. Es ist nicht möglich einen zentierten Fenstertitel anzuzeigen ohne komplett für die Zeichnung des Rahmens zuständig zu sein. Da heisst im Klartext du hast zwar einen zentierten Fenstertitel aber nicht mit dem Rahmen des Skins/Themes was gerade in Windows ausgewählt ist.
Verfasst: 27.09.2007 23:21
von Bisonte
Und wenn du unbedingt nen zentrierten Titel haben willst:
Grössenänderung für das Fenster ausschalten und per Spaces "ungefähr" in die mitte damit

Verfasst: 28.09.2007 10:37
von #NULL
hab was gebastelt. ich weiß aber nicht ob hier wirklich mit dem richtigen font gerechnet wird.
Code: Alles auswählen
title.s = "dsf agwg wtrhw rtewrh ezjetzj e"
OpenWindow(0, 0,0, 300,150,title,#PB_Window_ScreenCentered | #PB_Window_SizeGadget)
Procedure titleCenterAlign()
Shared title.s
Protected winwidth.l
Protected i.l
winwidth = WindowWidth(0)
StartDrawing(WindowOutput(0))
DrawingFont(GetStockObject_(SYSTEM_FONT))
While TextWidth(Space(i)) < (winwidth-TextWidth(title))/2
i+1
Wend
StopDrawing()
SetWindowTitle(0,Space(i)+title)
EndProcedure
Repeat
event = WaitWindowEvent(50)
Select event
Case #PB_Event_SizeWindow
titleCenterAlign()
EndSelect
Until event = #PB_Event_CloseWindow
man beachte, dass der button in der taskleiste nicht mehr viel auskunft gibt
