Las funciones que a continuación se detallan sólo tienen efecto en la versión de MultiBase para Windows.
getwinparm(exp): Dependiendo del valor de «exp», devolverá las coordenadas (en «píxeles») de la posición de la ventana de ejecución del CTL o el ancho o el alto de la misma. El valor devuelto por «exp deberá ser uno de los siguientes:
movewin(expy, expx [,exph, expw]): Permite cambiar el tamaño y el posicionamiento de la ventana de ejecución del CTL. Los valores de estas expresiones deben estar dados en píxeles.
iconizewin(): Iconiza la ventana de ejecución del CTL.
maximizewin(): Maximiza la ventana de ejecución del CTL.
restorewin(): Restaura la ventana a su tamaño y posición anteriores a la maximización o iconización.
setwintitle(exp): Modifica el título de la ventana de ejecución de CTL. El nuevo título será el devuelto por «exp».
messagebox(exptit, exptext [,expstyle]): Llamada a la función estándar de mensajes de Windows. Donde:
[ICO] [BOT] [DEF]
Donde:
[ICO]: Cualquiera de los siguientes:
ICO-I: Icono de Información de Windows.
ICO-STOP: Icono de parar del Windows.
ICO-?: Icono de Interrogación del
Windows.
[BOT]: Dependiendo de qué botones se
deseen en el diálogo puede ser uno de los siguientes:
OK: Sólo boton OK.
OKCANCEL: Botones OK y CANCEL.
RETRYCANCEL: Botones RETRY y CANCEL.
ABORTRETRYIGNORE: Botones ABORT, RETRY y
CANCEL.
YESNO: Botones YES y NO.
YESNOCANCEL: Botones YES, NO y CANCEL.
[DEF]: Indicará cuál de los botones
será el botón por defecto. Si no se incluye, el botón
por defecto será el primero. Puede ser uno de los valores siguientes:
DEF2: El botón por defecto será el
segundo.
DEF3: El botón por defecto será el
tercero.
Los valores devueltos por la función dependerán del botón pulsado por el usuario. Los posibles valores devueltos serán: OK, ABORT, CANCEL, IGNORE, NO, YES, RETRY.
gethinstance(): Devuelve la instancia Windows del CTL que se está ejecutando.
gethwnd(): Devuelve un entero (INTEGER o DWORD), que se corresponde con el manejador («handle») para Windows de la ventana principal del CTL. Sólo es útil para su uso con DLLs.
xtopixels([expr]): Devuelve el tamaño en «píxeles» que ocupa el número de columnas CTL indicado por «expr». Si no se especifica ningún parámetro se asume 1 como valor por defecto.
ytopixels([expr [, flag]]): Devuelve el tamaño en «píxeles» que ocupa el número de filas CTL indicado por «expr». Si no se especifica ningún parámetro se asume 1 por defecto. Por su parte, «flag» podrá tener dos valores: TRUE o FALSE. Si se indica TRUE se suma al resultado el tamaño en «píxeles» de la ventana de botones que aparece en la parte superior. Por defecto se asume FALSE.
dllfun(namefun, parm1, ...parmn): Ejecuta la función «namefun» con los parámetros indicados («parm1 _parmn») y retorna, en su caso, el valor devuelto por «namefun». (Ver definición del fichero «MB.INI»).
ansitooem(expr) y oemtoansi(expr): Convierten el string «expr» del «set» de caracteres ANSII (Windows) al set OEM (MS-DOS) y viceversa. Por ejemplo:
let expr1 = ansitooem (expr2)
Estas funciones permiten al CTL comunicarse como cliente con cualquier aplicación Windows que soporte protocolo DDE.
DDEinitiate(apli, topic): Abre dinámicamente un canal de comunicación para intercambio de datos y retorna el número del canal abierto. Donde:
Devuelve:
NULL: Error de parámetros.
0: No se ha establecido comunicación.
número: Número de canal.
Ejemplo:
variable canal smallint
...
run "WINWORD c:\test.doc&"
let canal = DDEinitiate("WINWORD", "c:\text.doc")
DDEexecute(canal, comando): Envía la orden de ejecución al servidor. Donde:
Devuelve:
-1: Canal incorrecto.
0: Permiso denegado.
1: Ejecución correcta.
2: El servidor está ocupado.
3: «TIMEOUT» después de un bucle de espera. El servidor
no responde.
Ejemplo:
let ret = DDEexecute(canal, "+({DOWN 2})")
DDEpoke(canal, item, data): Envía datos al servidor. Donde:
Devuelve los mismos valores que DDEexecute.
Ejemplo:
let ret = DDEpoke(canal, "StartOfDoc", "mitexto")
DDEterminate(canal): Cierra el canal de comunicación DDE.
Devuelve TRUE o FALSE si el canal es o no válido respectivamente.
setpmattr(attribute, value [, unit]): Permite establecer un atributo de impresión. Donde:
Devuelve:
NULL: Error de parámetros.
TRUE: Se ha activado dicho atributo.
FALSE: No se ha activado dicho atributo.
Los atributos «curcol» y «rightalign» sólo podrán usarse después de abrir el STREAM de impresión con la sentencia: «START OUTPUT STREAM_ THROUGH PRINTER». Los restantes se deberán usar con el STREAM cerrado.
getpmattr(attribute [, unit]): Retorna el valor en curso.Los valores de «attribute» y «unit» son los mismos que los de la función «setpmattr». El resultado de esta función será el valor actual de dicho parámetro expresado en «píxeles» si «unit» vale 1 (para «columns», «lines», «fixprtcolumn» y «graphsize» no tiene sentido usar este parámetro).
Devuelve:
NULL: Error en parámetros.
Número: Valor antes comentado.
Aparte de los diferentes «fonts» que pueden utilizarse dependiendo de cada impresora, existen algunos predeterminados en Windows con los siguientes nombres:
| ANSI_FIXED | o | A_F |
| ANSI_VAR | o | A_V |
| DEVICE_DEFAULT | o | D_D |
| OEM_FIXED | u | O_F |
| SYSTEM_FONT | o | S_F |
Para facilitar el uso del gestor de impresión, algunos de los valores anteriormente citados se pueden definir en la sección «.CONFIGURATION» del fichero «MB.INI». Estos valores son: PRTSET, DBPRINT, RPRINTER, PRINTMANFONT, FIXPRTCOLUMN y GRAPHSIZE.
Ejemplo:
.CONFIGURATION
...
PRTSET ANSI
DBPRINT PRINTMAN
RPRINTER PM
PRINTMANFONT =Courier
FIXPRTCOLUMN
GRAPHSIZE 2
etc. del «MB.INI».