| |
|
|
thb | Salut, je voudrais volontiers aus einer Eingabemaske heraus une Druck starten (Datenbankanwendung). Pour dem Ausdruck soll qui Anwender weitere Eingaben dans qui masque faire peut. d'abord J'ai eu Probleme avec qui zweiten page eines mehrseitigen Ausdruckes, ici hat mir cela Forum weitergeholfen, je muss den Befehl Usefont benutzen. Ausdruck klappt maintenant. Aaaaber: mon Dialog (qui oui im Hintergrund wartet) wird soudain pas plus avec dem Systemfont (?) dargestellt, zum partie modifié sich qui Dialog tout de suite bzw. qui Veränderung beginnt dans dem Moment, wohin je avec qui souris sur cela Element fahre. pas seulement, dass es hässlich aussieht, qui Systemfont ist aussi plus large, so dass qui Text zum partie pas plus trop lesen ist. j'ai cela Problem la fois de meinem Programme et qui banque de données gelöst, so dass es une überschaubaren Voir le texte source gibt:
DECLARE DLG&, DIALOGENDE%,TEXT1&,EDIT1&,BUTTON1&
DEF GETSYSCOLOR(1) !"User32","GetSysColor"
PROC DIALOG
DLG&=CREATE("Dialogue",%HWND,"Neues Fenster",22,20,281,182)
USEFONT "MS Sans Serif",13,0,0,0,0
SETDIALOGFONT 1
TEXT1& =@CREATE("TEXT",DLG&,"Irgendein Text",0023,0022,0070,0020)
EDIT1& =@CREATE("EDIT",DLG&,"Irgendwas",0115,0021,0120,0020)
BUTTON1& =@CREATE("BUTTON",DLG&,"Testdruck",0026,0082,0208,0030)
SETFOCUS(DLG&)
DIALOGENDE%=0
WHILENOT DIALOGENDE%
WAITINPUT
Si %KEY=2
DIALOGENDE%= 1
ELSEIF CLICKED(EDIT1&)'EDIT
ELSEIF CLICKED(BUTTON1&)'BUTTON
UseFont Arial,0,0,0,0,0'Druck dans Arial sans Textauszeichnung
StartPrint "*Testausdruck"
Si %Printing
MoveTo 34, 34
LineTo 34 + 343, 34
LineTo 34 + 343, 34 + 343
LineTo 34, 34 + 343
LineTo 34, 34
EndPrint
EndIf
ENDIF
ENDWHILE
DESTROYWINDOW(DLG&)
ENDPROC
SET("AUTOPAINT",2)
'cela folgende Hauptfenster ist seulement zum Testen:
WINDOWTITLE "DUMMY HAUPTFENSTER"
WINDOWSTYLE 63
WINDOW (%maxx-300),10-280,80
CLS RGB(0,0,0)
Color 10,0
PRINT "Bitte aufs Systemmenükreuz klicken "
DIALOG'Dialog appel!
si je eh bien den Button klicke, wird qui Button dans einer anderen Schriftart dargestellt. qui effet tritt aussi sur, si Je l' Druck abbreche. Verschiebe Je l' Windows-eigenen Dialog "Druckereinrichtung", ensuite volonté alle Elemente dans mon la fenêtre im Systemfont dargestellt (et z.B. qui Text ist pas plus vollständig trop lesen). Gibt es une Possibilité, cet Verhalten trop unterbinden? peut-être aussi sans, alle Elemente im la fenêtre récente trop erstellen? Thomas |
|
|
| |
|
|
|
RGH | Salut,
dans solchen Fällen sollte on pas USEFONT benutzen, um den Font eines Fensters ou bien Dialoges trop mettons. qui Befehl ist seulement sinnvoll, si on pour alle la fenêtre et den Druck den selben Font nutzen voudrais. je verwende USEFONT seulement encore pour qui Druckausgabe et qui Ausgabe sur dem la fenêtre avec DrawText.
Um den Font pour un la fenêtre/Dialog/Dialogelement gezielt trop mettons, verwende @CREATE("FONT",....), um un Font-Handle trop erzeugen et SETFONT, um cet Handle gezielt einem la fenêtre etc. zuzuweisen bzw. SETDIALOGFONT avec dem Handle comme paramètre, um ihn allen weiteren Dialogen bzw. Dialogelementen zuzuweisen.
Merke: 1. USEFONT seulement pour qui Druckausgabe ou bien Ausgabe sur dem la fenêtre avec DrawText verwenden! 2. SETDIALOGFONT seulement avec einem Fonthandle benutzen, et niemals avec 1.
Salut Roland |
|
|
| XProfan X2Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 17.04.2012 ▲ |
|
|
|
|
Jörg Sellmeyer | Am Besten tu mets pour dem Erstellen des Hauptfensters qui Programmschriftart avec:
fest. c'est qui Standardschriftart, qui qui User eingestellt hat. Pour cette doit avec
qui Headerdatei eingebunden volonté. cela hat encore den Vorteil, dass Du ne...aucune Fonthandle am Programmende effacer dois. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 17.04.2012 ▲ |
|
|
|
|
thb | |
|
| |
|
|