The Command UTILITY CHOOSEFONT is still in the dark ages in OI32.
There is no Colour, or strikethrough displayed.
On the 16 bit version we had to write our own caller to the font dialog via COMMDLG.
This now needs rewriting for COMDLG32 32 bit calls.
Is there any easier way to use CHOOSEFONT to get all the expected features in 32 bit Windows.
Colin
Colin,
Sprezzatura's Utility32's CHOOSEFONT has got colour and strikethrough…
- Oystein -
we soooo resisted this
![]()
Thank you.
World Leaders in all things RevSoft
Nice… but does not solve by problem / answer my question.
Colin
Our product addresses your problem immediately. In the meantime OI32's direct API access means that you can make calls to common dialogs yourself. This will introduce some problems as the dialog will be in the engine process space but it will at least provide a stop gap solution. In 4.1 this will be made even easier.
World Leaders in all things RevSoft
Sprezz,
Got more of those ugly mugs of yours? My copy disappears from the dishwasher all the time. For some reason it's popular with my colleagues. What if I got one mug per plug?
![]()
- Oystein -
We will work on a fix to the Utility and include it in a subsequent release.
Colin,
This does call the COMDLG32 version of ChooseFont. If you want to control the look of this dialog, you can set the flags parameter of the CHOOSEFONT structure via the second field of the second parameter. Documentation on the flags can be found here:and flag bit values are defined as:
#define CF_SCREENFONTS 0x00000001 #define CF_PRINTERFONTS 0x00000002 #define CF_BOTH (CF_SCREENFONTS | CF_PRINTERFONTS) #define CF_SHOWHELP 0x00000004L #define CF_ENABLEHOOK 0x00000008L #define CF_ENABLETEMPLATE 0x00000010L #define CF_ENABLETEMPLATEHANDLE 0x00000020L #define CF_INITTOLOGFONTSTRUCT 0x00000040L #define CF_USESTYLE 0x00000080L #define CF_EFFECTS 0x00000100L #define CF_APPLY 0x00000200L #define CF_ANSIONLY 0x00000400L #if(WINVER ]= 0x0400) #define CF_SCRIPTSONLY CF_ANSIONLY #endif /* WINVER ]= 0x0400 */ #define CF_NOVECTORFONTS 0x00000800L #define CF_NOOEMFONTS CF_NOVECTORFONTS #define CF_NOSIMULATIONS 0x00001000L #define CF_LIMITSIZE 0x00002000L #define CF_FIXEDPITCHONLY 0x00004000L #define CF_WYSIWYG 0x00008000L // must also have CF_SCREENFONTS & CF_PRINTERFONTS #define CF_FORCEFONTEXIST 0x00010000L #define CF_SCALABLEONLY 0x00020000L #define CF_TTONLY 0x00040000L #define CF_NOFACESEL 0x00080000L #define CF_NOSTYLESEL 0x00100000L #define CF_NOSIZESEL 0x00200000L #if(WINVER ]= 0x0400) #define CF_SELECTSCRIPT 0x00400000L #define CF_NOSCRIPTSEL 0x00800000L #define CF_NOVERTFONTS 0x01000000L #endif /* WINVER ]= 0x0400 */I don't know if all of the font information you need will be returned though. If you need more, let me know what it is and I'll see what I can do to get it also returned.
Pat
Woo hoo.
Well done, I look forward to this.