SCR/AL1 - TOME VII. Version Windows
Certaines fonctions de SCR4/AL1 sont spécifiques à Windows et ne sont pas implémentées sous Unix. Parmi ces fonctions on trouve actuellement:
Cette liste s'agrandit régulièrement et se retrouvera dans les autres parties du manuel.
Le programme d'impression classique (PR_select(), .. PR_send()) imprime dans les versions Windows sur l'imprimante par défaut de Windows.
Les caractères semi-graphiques sont traités correctement, en deux épaisseurs de trait.
Pour réaliser ce travail, un nouveau groupe de fonctions, disponible uniquement sous Windows a été développé. Ce groupe (Wpr*) offre des possibilités plus étendues que le groupe PR_*, en exploitant les outils fournis par l'environnement Windows.
Les fonctions disponibles sont classées en trois groupes :
Pour imprimer avec les anciennes fonctions de librairies PR*, il faut être attentif au fait que l'utilisation des IMAGES (qui reste possible avec le groupe s_wprtch) nécessite cependant quelques adaptations si on utilise des fonctions comme PG_display_flds().
En effet, ces fonctions ont été réécrites pour Windows et n'ont plus du tout le même fonctionnement dans cet environnement.
Ces fonctions ont donc été reprogrammées "en double" avec pour nom PGd*. Il s'agit de :
PGd_display_field
PGd_display_flds
SCR_write_text() qui était en fait une macro ne supporte plus sous Windows que l'écriture dans une IMAGE. SCR_TMP_IMAGE ne peut donc être nul lors de l'appel à cette fonction.
Si SCR_TMP_IMAGE est nul, rien n'est imprimé.
Le groupe s_wprt a été implémenté pour simplifier les impressions sous WIN32. Elles permettent:
Ce groupe est exploité par le groupe s_wprtch qui est adapté à l'impression en "mode caractère".
Fonctions de sélection d'imprimante
Fonctions de définition des propriétés des imprimantes
Fonctions d'initialisation et de fin
Sélection des polices, traits, hachurés et couleurs
Cadrage du texte
Impressions
Informations diverses
Impressions sans driver
WscrListPrinters (file s_wprts.c:33)
Syntax
char **WscrListPrinters()
Description
Fournit la liste de toutes les imprimantes définies sur le système courant sous forme d'un tableau de noms (char **).
Seul le nom de chaque imprimante est retourné.
Valeur retournée
tableau alloué de pointeurs terminé par un 0.
Exemple
ListPrinters()
{
char **tbl = WscrListPrinters();
int i;
if(tbl == 0) {
printf("Erreur\n");
return(-1);
}
for(i = 0 ; tbl[i] ; i++)
printf("Printer %d : %s\n", i, tbl[i]);
SCR_free_tbl(tbl);
return(0);
}
File s_wprts.c
WscrGetDefaultPrinter(char *PrinterName)
WscrGetPrinterDuplex(char *PrinterName)
WscrGetPrinterOrientation(char *PrinterName)
WscrGetPrinterSource(char *PrinterName)
char **WscrListPrinters()
WscrSetDefaultPrinter(char *PrinterName)
WscrSetPrinterCollate(char *PrinterName, int collate)
WscrSetPrinterColor(char *PrinterName, int color)
WscrSetPrinterCopies(char *PrinterName, int copies)
WscrSetPrinterDuplex(char *PrinterName, int duplex)
WscrSetPrinterOrientation(char *PrinterName, int orient)
WscrSetPrinterPaperSize(char *PrinterName, int psize)
WscrSetPrinterQuality(char *PrinterName, int quality)
WscrSetPrinterScale(char *PrinterName, int scale)
WscrSetPrinterSource(char *PrinterName, int source)
WscrGetPrinterSource (file s_wprts.c:615)
Syntax
WscrGetPrinterSource(char *PrinterName)
Description
Interroge le driver de PrinterName et retourne la source de papier par défaut.
Valeur retournée
Exemple
WscrGetPrinterSource("My Printer");
Valeur retournée
>= 0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*(), WscrGetPrinter*()
WscrSetPrinterSource (file s_wprts.c:638)
Syntax
WscrSetPrinterSource(char *PrinterName, int source)
Description
Indique la source de papier à utiliser sur l'imprimante PrinterName.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterSource("My Printer", 2);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrGetDefaultPrinter (file s_wprts.c:92)
Syntax
WscrGetDefaultPrinter(char *PrinterName)
Description
Fournit le nom du printer par défaut.
Valeur retournée
numéro de l'imprimante par défaut (dans l'ordre des noms fournis par WscrListPrinters()), -1 en cas d'erreur.
Exemple
ListPrinters()
{
char **tbl = WscrListPrinters(), CurrentPrinter[80];
int i;
if(tbl == 0) {
printf("Erreur\n");
return(-1);
}
WscrGetDefaultPrinter(CurrentPrinter);
for(i = 0 ; tbl[i] ; i++) {
if(strcmp(CurrentPrinter, tbl[i]) == 0)
printf("(Default) ");
printf("Printer %d : %s\n", i, tbl[i]);
}
SCR_free_tbl(tbl);
return(0);
}
WscrSetDefaultPrinter (file s_wprts.c:129)
Syntax
WscrSetDefaultPrinter(char *PrinterName)
Description
Fixe le nom du printer par défaut. Attention, peut ne pas fonctionner sous NT 4.0.
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*(), WscrPrinterProperties()
WscrPrinterProperties (file s_wprtp.c:14)
Syntax
WscrPrinterProperties(char *PrinterName)
Description
Edite les propriétés de l'imprimante PrinterName.
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
File s_wprtp.c
WscrPrinterProperties(char *PrinterName)
WscrSetPrinterOrientation (file s_wprts.c:365)
Syntax
WscrSetPrinterOrientation(char *PrinterName, int orient)
Description
Fixe l'orientation de l'impression pour l'imprimante PrinterName. Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterOrientation("My Printer", 1);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterPaperSize (file s_wprts.c:401)
Syntax
WscrSetPrinterPaperSize(char *PrinterName, int psize)
Description
Définit la taille du papier de l'imprimante PrinterName. Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterPaperSize("My Printer", 0);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterScale (file s_wprts.c:444)
Syntax
WscrSetPrinterScale(char *PrinterName, int scale)
Description
Définit le facteur de compression de l'impression pour l'imprimante PrinterName. En imprimant à 50% par exemple, on peut imprimer deux fois plus dans les deux directions.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterScale("My Printer", 72);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterCopies (file s_wprts.c:467)
Syntax
WscrSetPrinterCopies(char *PrinterName, int copies)
Description
Définit le nombre de copies à imprimer pour l'impression sur l'imprimante PrinterName.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterCopies("My Printer", 5);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterQuality (file s_wprts.c:493)
Syntax
WscrSetPrinterQuality(char *PrinterName, int quality)
Description
Définit la qualité d'impression sur l'imprimante PrinterName.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterQuality("My Printer", 0);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterColor (file s_wprts.c:525)
Syntax
WscrSetPrinterColor(char *PrinterName, int color)
Description
Indique s'il faut imprimer en couleur sur l'imprimante PrinterName.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterColor("My Printer", 1);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterDuplex (file s_wprts.c:556)
Syntax
WscrSetPrinterDuplex(char *PrinterName, int duplex)
Description
Indique s'il faut imprimer en recto-verso sur l'imprimante PrinterName.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterDuplex("My Printer", 1);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrSetPrinterCollate (file s_wprts.c:587)
Syntax
WscrSetPrinterCollate(char *PrinterName, int collate)
Description
Indique si l'imprimante PrinterName doit collationner les copies.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Exemple
WscrSetPrinterCollate("My Printer", 1);
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*()
WscrGetPrinterOrientation (file s_wprts.c:230)
Syntax
WscrGetPrinterOrientation(char *PrinterName)
Description
Retourne l'orientation de l'impression pour l'imprimante PrinterName. Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Valeur retournée
Exemple
WscrGetPrinterOrientation("My Printer");
Voir également
WscrSetPrinter*(), WscrGetPrinter*()
WscrGetPrinterDuplex (file s_wprts.c:264)
Syntax
WscrGetPrinterDuplex(char *PrinterName)
Description
Indique si PrinterName imprime en recto-verso.
Cette fonction n'est pas disponible sur toutes les imprimantes. Dans ce cas, le code de retour est -1.
Valeur retournée
Exemple
WscrGetPrinterDuplex("My Printer");
Valeur retournée
0 en cas de succès, -1 en cas d'erreur.
Voir également
WscrSetPrinter*(), WscrGetPrinter*()
WprPrinterInit (file s_wprt.c:82)
Syntax
WprPrinterInit(HWND hWndOwner, int dlg, char *docname)
Description
Initialise un processus d'impression.
La fonction crée les différentes ressources nécessaires à l'impression et initialise toutes les variables nécessaires.
Les variables globales suivantes sont définies par la fonction :
Valeur retournée
0 en cas de succès, -1 en cas d'erreur ou si l'utilisateur utilise CANCEL pour quitter la boîte de dialogue de sélection de l'impression.
File s_wprt.c
WprArc(int left, int top, int right, int bot, int x0, int y0, int x1, int y1)
WprFormFeed()
WprGetStringWidth(U_ch *txt, long *w, long *h)
WprHCenterCenter()
WprHCenterLeft()
WprHCenterRight()
WprLine(int x0, int y0, int x1, int y1)
WprPolyline(long *pts, int npts)
WprPrintString(int x, int y, U_ch *txt)
WprPrintStringNoAlign(int x, int y, U_ch *txt)
WprPrinterEnd()
WprPrinterInit(HWND hWndOwner, int dlg, char *docname)
WprRectangle(int x, int y, int w, int h)
WprSetBrush(int brush)
WprSetColor(int i)
WprSetFont(family, pty, bold, italic, underl)
WprSetPen(int type, int width, int color)
WprVCenterBaseline()
WprVCenterBottom()
WprVCenterTop()
WprPrinterEnd (file s_wprt.c:152)
Syntax
WprPrinterEnd()
Description
Termine le processus d'impression et envoie le job vers l'imprimante.
La fonction libère l'espace alloué par les différentes ressources nécessaires à l'impression.
Voir également
WprPrinterInit()
WprEMFInit (file s_wemfcr.c:117)
Syntax
WprEMFInit(char *filename, int w, int h, U_ch *pictname)
Description
Initialise un processus d'impression dans un fichier ou un handle en mémoire de type Windows Enhanced MetaFile.
La fonction crée les différentes ressources nécessaires à l'impression et initialise toutes les variables nécessaires.
Les variables globales suivantes sont définies par la fonction :
Valeur retournée
0 en cas de succès, -1 en cas d'erreur
Voir également
WprPrinterInit(), WprWMFInit(), WprEMFEnd(), WscrEMFCreate()
Les sauts de pages éventuels surchargent simplement le dessin, une seule "page" étant disponible.
File s_wemfcr.c
HENHMETAFILE WprEMFEnd()
WprEMFInit(char *filename, int w, int h, U_ch *pictname)
HMETAFILE WprWMFEnd()
WprWMFInit(char *filename, int w, int h)
WprEMFEnd (file s_wemfcr.c:223)
Syntax
HENHMETAFILE WprEMFEnd()
Description
Termine le processus d'impression dans un Enhanced Windows MetaFile. Selon qu'un nom de fichier ait été fourni à la fonction d'initialisation, crée un fichier ou retourne un handle vers un EMF en mémoire.
On peut utiliser le handle retourné pour un affichage dans une fenêtre.
Exemple
#include <scr4w.h>
HENHMETAFILE hEmf;
...
WprEMFInit(0L, 100, 100, "Mon dessin");
..
hEmf = WprEMFEnd();
WscrEMFCreate(HMainWnd, 0L, hEmf);
La fenêtre créée par la fonction WscrEMFCreate() détruit le Handle hEmf lorsqu'on la quitte. L'utilisateur n'a donc pas à s'en préoccuper dans le cas de l'exemple. Dans d'autres cas, il faut utiliser la fonction de l'API Win32
DeleteEnhMetaFile(hEmf);
pour libérer le HANDLE hEmf.
Valeur retournée
La fonction libère l'espace alloué par les différentes ressources allouées.
Voir également
WprEMFInit(), WscrEMFCreate()
WprWMFInit (file s_wemfcr.c:176)
Syntax
WprWMFInit(char *filename, int w, int h)
Description
Initialise un processus d'impression dans un fichier ou un handle en mémoire de type Windows MetaFile.
La fonction crée les différentes ressources nécessaires à l'impression et initialise toutes les variables nécessaires.
Les variables globales suivantes sont définies par la fonction :
Valeur retournée
0 en cas de succès, -1 en cas d'erreur
Voir également
WprPrinterInit(), WprEMFInit(), WprWMFEnd()
Les sauts de pages éventuels surchargent simplement le dessin, une seule "page" étant disponible.
WprWMFEnd (file s_wemfcr.c:295)
Syntax
HMETAFILE WprWMFEnd()
Description
Termine le processus d'impression dans un Windows MetaFile. Selon qu'un nom de fichier ait été fourni à la fonction d'initialisation, crée un fichier ou retourne un handle vers un WMF en mémoire.
L'extension .wmf est fixée pour le fichier résultat (si un nom de fichier a été passé à la fonction WprWMFInit().
Exemple
#include <scr4w.h>
HMETAFILE hWmf;
...
WprWMFInit(0L, 100, 100);
..
hWmf = WprWMFEnd();
Il faut utiliser la fonction de l'API Win32
DeleteMetaFile(hWmf);
pour libérer le HANDLE hWmf.
On peut utiliser le handle retourné pour un affichage dans une fenêtre.
Exemple
#include <scr4w.h>
HMETAFILE hWmf;
...
WprWMFInit(0L, 100, 100);
..
hEmf = WprWMFEnd();
WscrWMFCreate(HMainWnd, 0L, hWmf);
La fenêtre créée par la fonction WscrWMFCreate() détruit automatiquement le Handle hWmf à la fin de son existence. L'utilisateur n'a donc pas à s'en préoccuper dans le cas de l'exemple.
Valeur retournée
La fonction libère l'espace alloué pour les différentes ressources nécessaires.
Voir également
WprWMFInit()
WprSetFont (file s_wprt.c:276)
Syntax
WprSetFont(family, pty, bold, italic, underl)
int family, pty, bold, italic, underl;
Description
Cette fonction définit la police de caractères qui sera utilisée lors des impressions suivantes.
Le choix de la police s'opère en fonction de ce qui est disponible sur l'unité de destination).
Les polices utilisées sont conservées pendant toute la durée de l'impression de façon à optimiser la vitesse de basculement d'une police à l'autre.
WprSetPen (file s_wprt.c:787)
Syntax
WprSetPen(int type, int width, int color)
Description
Sélectionne une plume de pour les tracés suivants.
Voir également
WprSetBrush(), WprSetFont()
WprSetBrush (file s_wprt.c:644)
Syntax
WprSetBrush(int brush)
Description
Sélectionne la brosse (BRUSH) de dessin pour les rectangles et ellipses suivants. Les brosses disponibles sont :
La couleur des brosses 3 à 8 sont définies par la fonction WprSetColor().
Remarque
Si le numéro de la brosse n'est pas défini, une brosse nulle est sélectionnée.
WprSetColor (file s_wprt.c:607)
Syntax
WprSetColor(int i)
Description
Sélectionne la couleur utilisée pour les textes et les brosses (BRUSH) suivantes. Les couleurs sont définies comme suit :
La couleur des seules brosses 3 à 8 sont modifiables.
WprHCenterLeft (file s_wprt.c:421)
Syntax
WprHCenterLeft()
Description
Change l'alignement horizontal du texte pour la prochaine impression. Le texte sera cadré à gauche.
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprHCenterRight (file s_wprt.c:434)
Syntax
WprHCenterRight()
Description
Change l'alignement horizontal du texte pour la prochaine impression. Le texte sera cadré à droite
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprHCenterCenter (file s_wprt.c:447)
Syntax
WprHCenterCenter()
Description
Change l'alignement horizontal du texte pour la prochaine impression. Le texte sera centré autour du point de référence.
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprVCenterTop (file s_wprt.c:460)
Syntax
WprVCenterTop()
Description
Change l'alignement vertical du texte pour la prochaine impression. Le point de référence indiquera le bord supérieur.
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprVCenterBottom (file s_wprt.c:473)
Syntax
WprVCenterBottom()
Description
Change l'alignement vertical du texte pour la prochaine impression. Le point de référence indiquera le bord inférieur.
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprVCenterBaseline (file s_wprt.c:486)
Syntax
WprVCenterBaseline()
Description
Change l'alignement vertical du texte pour la prochaine impression. Le point de référence indiquera la ligne de base.
Voir également
WprPrintString(), WprPrintStringNoAlign(), WprHCenter*(), WprVCenter*()
WprLine (file s_wprt.c:584)
Syntax
WprLine(int x0, int y0, int x1, int y1)
Description
Dessine une ligne entre deux points. La plume et la couleur courantes sont utilisées.
WprPolyline (file s_wprt.c:550)
Syntax
WprPolyline(long *pts, int npts)
Description
Dessine une série de segments de lignes reliés entre eux en connectant les points sucessifs. La plume et la couleur courantes sont utilisées.
Voir également
WprSetPen(), WprSetColor(), WprLine()
WprRectangle (file s_wprt.c:533)
Syntax
WprRectangle(int x, int y, int w, int h)
Description
Dessine un rectangle avec la plume (PEN), la couleur et la brosse (BRUSH) courantes.
WprArc (file s_wprt.c:569)
Syntax
WprArc(int left, int top, int right, int bot, int x0, int y0, int x1, int y1)
Description
Dessine le segment de l'arc inclus dans un rectangle (ellipse) compris entre deux points. La plume et la couleur courantes sont utilisées.
Voir également
WprSetPen(), WprSetColor(), WprLine(), WprRectangle()
WprPrintString (file s_wprt.c:406)
Syntax
WprPrintString(int x, int y, U_ch *txt)
Description
Imprime le texte txt en position x, y. Cette fonction change l'alignement en le fixant à la ligne de base, cadré à gauche.
Les coordonnées sont exprimées en pixels. Les variables globales suivantes indiquent la taille du papier et la définition de l'impression:
WprFormFeed (file s_wprt.c:335)
Syntax
WprFormFeed()
Description
Effectue un saut de page.
WprPrintStringNoAlign (file s_wprt.c:380)
Syntax
WprPrintStringNoAlign(int x, int y, U_ch *txt)
Description
Imprime le texte txt en position x, y sans changer l'alignement courant.
Les coordonnées sont exprimées en pixels. Les variables globales suivantes indiquent la taille du papier et la définition de l'impression:
WprGetStringWidth (file s_wprt.c:509)
Syntax
WprGetStringWidth(U_ch *txt, long *w, long *h)
Description
Calcule la largeur et la hauteur du texte txt dans la police courante.
Les valeurs retournées sont exprimées en pixels. Les variables globales suivantes indiquent la taille du papier et la définition de l'impression:
WscrPrintRawInit (file s_wprraw.c:64)
Syntax
WscrPrintRawInit(char *PrinterName, char *JobName)
Description
Opens a printer to send binary data to it.
Restricted to Win32 (DOSW32 or SCRW32)
Valeur retournée
0 for success, -1 for failure
File s_wprraw.c
WscrPrintRawData(U_ch *data, long count)
WscrPrintRawEnd()
WscrPrintRawFile(char *filename)
WscrPrintRawInit(char *PrinterName, char *JobName)
WscrPrintRawString(U_ch *txt)
WscrPrintRawData (file s_wprraw.c:107)
Syntax
WscrPrintRawData(U_ch *data, long count)
Description
Sends binary data to the previously open printer. A call to WscrPrintRawInit is required to initialise the process.
Restricted to Win32 (DOSW32 or SCRW32)
Valeur retournée
0 for success, -1 for failure
Voir également
WscrPrintRawInit(), WscrPrintRawEnd(), WscrPrintRawString()
WscrPrintRawString (file s_wprraw.c:129)
Syntax
WscrPrintRawString(U_ch *txt)
Description
Sends a null terminated string to the previously open printer. A call to WscrPrintRawInit is required to initialise the process.
Restricted to Win32 (DOSW32 or SCRW32)
Valeur retournée
0 for success, -1 for failure
Voir également
WscrPrintRawInit(), WscrPrintRawEnd(), WscrPrintRawData()
WscrPrintRawFile (file s_wprraw.c:166)
Syntax
WscrPrintRawFile(char *filename)
Description
Sends binary data directly to a printer. For example, this function can send Postscript or PCL data to a printer, avoiding the use of the ugly corresponding Windows drivers.
Restricted to Win32 (DOSW32 or SCRW32)
Valeur retournée
0 for success, -1 for failure
Voir également
WscrPrintRawInit(), WscrPrintRawEnd()
WscrPrintRawEnd (file s_wprraw.c:142)
Syntax
WscrPrintRawEnd()
Description
Ends the process of sending binary data to a printer.
Restricted to Win32 (DOSW32 or SCRW32)
Valeur retournée
0 for success or no current print, -1 for failure
Voir également
WscrPrintRawInit()
Le groupe s_wprtch a été implémenté pour simplifier les impressions en mode caractère sous WIN32. Ce groupe est exploité pour assurer la compatibilité avec les fonctions du groupe PR_*().
Les fonctions du groupe s_wprt peuvent également être utilisées dans ce cadre, à l'exception de WprInit() et WprEnd().
Fonctions d'initialisation et de fin
Impressions
Informations diverses
WprMARGT et WprMARGL peuvent être modifiées par l'utilisateur après l'appel à WprChInit().
WprChInit (file s_wprt2.c:50)
Syntax
WprChInit(HWND hWndOwner, int dlg, char *docname)
Description
Initialise un processus d'impression en mode caractère.
La fonction crée les différentes ressources nécessaires à l'impression et initialise toutes les variables nécessaires.
Les variables globales suivantes sont définies par la fonction :
Les valeurs de WprMARGT et WprMARGL peuvent être modifiées par l'utilisateur après l'appel de cette fonction.
Valeur retournée
0 en cas de succès, -1 en cas d'erreur ou si l'utilisateur utilise CANCEL pour quitter la boîte de dialogue de sélection de l'impression.
File s_wprt2.c
WprChEnd()
WprChFormFeed()
WprChInit(HWND hWndOwner, int dlg, char *docname)
WprChNewLine(int n)
WprChPrintString(U_ch *txt)
WprChEnd (file s_wprt2.c:77)
Syntax
WprChEnd()
Description
Termine le processus d'impression en mode caractère et envoie le job vers l'imprimante.
Cette fonction prend l'hypothèse que la dernière page a été préalablement envoyée par un formfeed antérieur (c'est le cas lors de l'utilisation des fonctions du groupe PR_*).
La fonction libère l'espace alloué par les différentes ressources nécessaires à l'impression.
WprChNewLine (file s_wprt2.c:93)
Syntax
WprChNewLine(int n)
Description
Effectue un saut à la ligne (fonction d'impression Windows en mode caractère).
WprChFormFeed (file s_wprt2.c:107)
Syntax
WprChFormFeed()
Description
Imprime la page courante et prépare une nouvelle page (fonction d'impression Windows en mode caractère).
WprChPrintString (file s_wprt2.c:146)
Syntax
WprChPrintString(U_ch *txt)
Description
Imprime un string codé Ascii (fonction d'impression Windows en mode caractère). L'impression a lieu à la position courante dans la page.
Les caractères semi-graphiques de la table ASCII-437 sont imprimés en utilisant les primitives graphiques de l'imprimante.
Les caractères suivants sont interprétés:
WprChCONDENSED
Cette variable contient la taille en pts de la police "condensed" utilisée lors des impressions PR_* notamment.
int WprChCONDENSED;
Par défaut, sa valeur est fixée à 8 points.
WprChENLARGED
Cette variable contient la taille en pts de la police "enlarged" utilisée lors des impressions PR_* notamment.
int WprChENLARGED;
Par défaut, sa valeur est fixée à 14 points.
De nouvelles fonction permettent d'exploiter les "Common Dialog Boxes" de Windows. Ces fonctions sont:
WscrChooseColor
WscrGetFilename
WscrChooseFont
Elles n'ont pas d'équivalent en mode caractère.
Syntax
COLORREF WscrChooseColor(HWND hOwner, COLORREF dftcol, COLORREF *custcols)
Description
Ouvre un écran de sélection de couleurs.
Valeur retournée
La fonction retourne la couleur sélectionnée. Si la boîte de dialogue a été quittée par CANCEL, la couleur d'origine dftcol est retournée.
Le tableau custcols est également modifié s'il est défini.
File s_wcomdl.c
COLORREF WscrChooseColor(HWND hOwner, COLORREF dftcol, COLORREF *custcols)
int WscrChooseFont(HWND hOwner, LOGFONT *logfont)
int WscrGetFilename(hOwner, opensave, title, infile, outfile, ftypes)
Syntax
int WscrGetFilename(hOwner, opensave, title, infile, outfile, ftypes)
HWND hOwner;
int opensave;
U_ch *title, *infile, *outfile, *ftypes;
Description
Ouvre un écran de sélection de fichier. Cette fonction est utilisée pour les champs DIR des pages.
ftypes DOIT se terminer par un |, sans quoi il est ignoré.
Exemple
char outfile[256];
WscrGetFilename(0L, "Mon titre", "toto", outfile,
"Text files|*.txt;*.asc|C sources|*.c|");
Valeur retournée
La fonction retourne -1 si la sélection ne s'est pas opérée (Cancel, ...).
Syntax
int WscrChooseFont(HWND hOwner, LOGFONT *logfont)
Description
Ouvre un écran de sélection de polices de caractères.
Valeur retournée
La fonction retourne -1 si la sélection ne s'est pas opérée (Cancel, ...).
Voir "Le groupe s_wddlg".
Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be