[comp.os.os2.programmer] changing fonts

ejp@bohra.cpg.oz (Esmond Pitt) (11/26/90)

I have read the MSJ Journal articles (esp. Mark Adler) on how to change
the default fonts for a particular window. ]It's an amazingly
long-winded process.] Anyway what I want to do is change the font for
ALL windows, especially STATIC and EDIT windows, to a Courier or other
monospaced font, so the people I'm interfacing for can continue to
think in rows and columns of characters. Do I really have to use
OWNERDRAW on all of them, or is there a neater way?

Thanks for any help.

-- 
Esmond Pitt, Computer Power Group
ejp@bohra.cpg.oz
D

bed@swdev.Waterloo.NCR.COM (Brian E. Danilko) (11/30/90)

In article <835@bohra.cpg.oz> ejp@bohra.cpg.oz (Esmond Pitt) writes:
>...Do I really have to use
>OWNERDRAW on all of them, or is there a neater way?

The Microsoft programmer's reference manual, version 1.2, volume 4 
contains a new command - WinSetPresParam - on page 332.  This command
can be used for changing the font using the PP_FONTNAMESIZE or 
PP_FONTHANDLE.  And the bonus part is that under comments on page 333
it is stated that all windows owned by the window calling the 
WinSetPresParam will have a WM_PRESPARAMCHANGED message sent to them.

So if you call the WinSetPresParam in a window owning static windows,
the static windows should take and use the new presentation parameter.
                               - OR -
Do the Microsoft created window classes not use the WM_PRESPARAMCHANGED??

I haven't tried this yet because of time pressures and because of the 
lack of information about the parameters PP_FONTNAMESIZE and PP_FONTHANDLE,
but it may provide a way of changing a font for all windows in an application.

P.S. I once tried changing the file name for the system font in one of the
     ini files to the courier font but it didn't work.  Doesn't OS/2 use 
     the information in it's ini files?
--
-------------------------------------------------------------------------------
Brian E. Danilko
E & M Waterloo, NCR Canada Ltd.,     MAILplus:  Brian.Danilko@Waterloo.NCR.COM
Waterloo, Ontario, CANADA            UUCP:      uunet!ncrlnk!swdev!bed

lsalomo@hubcap.clemson.edu (lsalomo) (12/03/90)

From article <1867@ncrwat.Waterloo.NCR.COM>, by bed@swdev.Waterloo.NCR.COM (Brian E. Danilko):
> P.S. I once tried changing the file name for the system font in one of the
>      ini files to the courier font but it didn't work.  Doesn't OS/2 use 
>      the information in it's ini files?

Which .INI file did you change?  And did you change EVERYTHING needed to get
the new font to take effect?  Remember that, starting with 1.2, there can be
multiple .INI files (which can manipulated with the Prf* APIs), and the system
uses two:  C:/OS2.INI for general initialization stuff, and C:/OS2/OS2SYS.INI
for system initialization stuff (the '/' is a backslash)

Cheers,
Q - the "Q"uestor for knowledge (, a degree, etc.)

lsalomo@hubcap.clemson.edu
ibmman@clemson.clemson.edu
=============================================================================
"Gee Wally, I think there's something wrong with the Beaver."
=============================================================================