Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME VII. Version Windows

6. API SCR4/AL1 spécifique à 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.

6.1 Fonctions d'impression

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é.

6.1.1 Le groupe s_wprt

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()

6.1.2 Le groupe s_wprtch

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.

6.2 Common Dialog Boxes

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.

6.2.1 WscrChooseColor (file s_wcomdl.c:27)

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)

6.2.2 WscrGetFilename (file s_wcomdl.c:106)

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, ...).

6.2.3 WscrChooseFont (file s_wcomdl.c:175)

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, ...).

6.3 Dynamic Dialog Boxes

Voir "Le groupe s_wddlg".

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be