Autor | Thema: Große Schriftarten ... | | Datum:14.09.01 12:24 
(hoefener@web.de) | |
Hallo Profaner,
ich schreibe an einem Programm mit vielen Formularen und Text. Auf einem Windows - Rechner mit kleinen/normalen Schriftarten sieht auch alles gut aus - aber die großen Schriftarten lassen sämtliche Buttons, Texte und Formularfelder "schlecht" aussehen.
Dort klappen dann auch die Taps aus der Prefellow-Vorlage nicht mehr ????
Gibt es eine sinnvolle Lösung ?
Dank im Voraus ...
Grüße Lars
|
| | Datum:14.09.01 14:17 
| |
Hallo,
du mußt halt dafür sorgen, das auf jedem Rechner die gleichen Schriftarten benutzt werden. So geht es mit Texten:
UseFont "Arial",16,0,0,0,0
Bei Buttons geht's so:
DEF DeleteObject(1) !"GDI32","DeleteObject"
hfont& = @Create("Font","Arial",16,0,0,0,0)
'button oder sonstiges erstellen, z.B. button%, dann:
SetFont button%,hfont&
...
DeleteObject(hfont&) 'zum Programmende hin
Ich hoffe das hilft dir weiter!
MfG
Frank
|
| | Datum:14.09.01 19:57 
(b.kuenzel@chello.at) | |
Versuche es einmal so
Def GetStockObject(1) ! "GDI32","GetStockObject"
Def Ansi_Var_Font(1) SendMessage(&(1),$30,Val(GetStockObject($C)),1)
'//
Hnd1&=Create("Button",%HWnd,"Test",20,20,100,20)
Ansi_Var_Font(Hnd1&)
dann bekommst Du in jedes Controllfeld die kleine Schrift
wenn Du das Handle nicht brauchst z.B. bei Static-Controlls geht es auch in eíne Zeile
Hnd1&=Ansi_Var_Font(Create("Static",%HWnd,"Test",20,20,100,20))
|
| | Datum:16.09.01 19:13 
(hoefener@web.de) | |
Vielen Dank für die schnelle Hilfe - leider habe ich derzeit kein Profan zur Seite - ich werde die Varianten aber ausprobieren ...
Gelten diese Befehle für alle Objekte - eine Art neue Standardschrift für alle Objekte - ich hab bei ca. 4000 Zeilen schon mehrere .... das wäre sonst eine mühsame Nacharbeit !?
Grüße Lars
|
| | Datum:16.09.01 19:26 
(b.kuenzel@chello.at) | |
Es muß leider bei jeder Erzeugung eines Controllelementes angewendet werden!
|
| | Datum:16.09.01 19:46 
(hoefener@web.de) | |
Das wäre schlimm - gibt es nicht einen Befehl ..
pro Fenster ? Ich habe jetzt leider keine Hilfe:
was bewirkt setfont 1 oder ähnlich i.V.m. usefont ?
grüße lars
|
| | Datum:16.09.01 20:32 
| |
Versuch mal so:
Declare font1%,h%
font1%=CREATEFONT("ARIAL",16,6,0,0,0)
'-------------------------------------
h%=CREATE("BUTTON",%HWnd,"F1 Hilfe",10,10,100,25)
SETFONT h%,font1%
Jetzt wird immer der eingestellte Font genommen:
"ARIAL",16,6,0,0,0
Du kannst Dir verschiedene Fonts declarieren und
immer mit SETFONT übergeben - Soviel ich weiss, klappt das aber erst ab Version 7.0 ?
|
| | Datum:16.09.01 22:29 
(joerse@gmx.de) | |
Hallo,
Schau Dir mal "SetDialogFont" an.
Jörg
|
| | Datum:17.09.01 19:41 
(hoefener@web.de) | |
Hallo Profaner,
"SetDialogFont" meinte ich ja - leider klappt das aber bei mir nicht. Sobald ich ein Fenster mit create erzeuge, sagt er mir kein Fenster vorhanden - mit cls klappt es ?
Muß ich durch usefont einen anderen Befehl ersetzen ?
Grüße Lars
|
| | Datum:17.09.01 19:49 
(frankabbing@12move.de) | |
Hallo,
mit Create... kannst du kein richtiges Fenster erzeugen, nur ein Dialog-Fenster. Du mußt CLS oder Windows... verwenden.
MfG Frank
|
| | Datum:18.09.01 09:21 
(hoefener@web.de) | |
Und ich dachte immer, dass die createwindow - Fenster die "Standardfenster" im Profanprogramm sind ?
Grüße Lars
|
| | Datum: 18.09.01 12:04 
(rgh-soft@t-online.de) | |
Ich erlaube mir mal, den Sachverhalt zu präzisieren:
Mit CREATE("Window",.. bzw. CREATEWINDOW erzeugte Fenster sinds schon "richtige" Windows-Fenster. Manche Befehle verlangen aber ein mit CLS oder WINDOW erzeugtes HAUPT-Fenster. Hier kann es unter Umständen hilfreich sein, ein unsichtbares Fenster mit der Größe 0 zu erzeugen, wenn man kein sichtbares Hauptfenster benötigt.
|
| | Datum:16.09.01 20:30 
(b.kuenzel@chello.at) | |
Die Funktion GetStockObject liefert ein Handle zu einem der vordefinierten Stifte, Pinsel oder Schriften.
$C0 ist für die ANSI_FAR_FONT Schrift einzusetzen.
Ich verwende für alle meine Controllelemente diese Funktion, da sie den Vorteil hat, daß ich sie nicht am Ende des Programms entfernen brauch.
Wenn die kleine Schriftart für alle Controllelemente gelten soll, mußt du mit dem ResHacker bei deinem Programm beim LDIALOG die Zeile
FONT 8, "MS Sans Serif"
einbauen.
Dann sind bei allen Controllelementen diese Schrift automatisch vorhanden.
Es sollte eigentlich in Profan dieser Font bei allen Dialgen von Herrn Hülsmann eingebaut werden, da dieser Font eigentlich bei den Dialogen schon Standard wäre.
|
|
|