Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!evax!utacfd!merch!spudge!johnm From: johnm@spudge.UUCP (John Munsch) Newsgroups: comp.windows.ms.programmer Subject: Re: Changes MS should make to the windows.h file Message-ID: <27127@spudge.UUCP> Date: 30 Jan 91 16:03:04 GMT References: <1991Jan26.010935.4400@maytag.waterloo.edu> Reply-To: johnm@spudge.UUCP (John Munsch) Distribution: na Organization: Friends of Guru Bob Lines: 77 In article <1991Jan26.010935.4400@maytag.waterloo.edu> giguere@csg.waterloo.edu (Eric Giguere) writes: >1) Put in something similar to: > > #ifndef WINDOWS_H_INCLUDED > #define WINDOWS_H_INCLUDED > > blah blah blah > > #endif /* WINDOWS_H_INCLUDED */ > > Right now I kludge it by testing for the PASCAL macro. Agreed, and they also need #ifdef __cplusplus extern "Pascal" { #endif blah blah blah #ifdef __cplusplus } #endif for compatability with C++ compilers. >3) Make it smaller/split it up. Probably a pipe dream here. No need to make it smaller or split it up. Instead try NEW IMPROVED inhibit.h. // inhibit.h // tab_size: 4 // Inhibit sections of WINDOWS.H #define NOGDICAPMASKS // CC_*, LC_*, PC_*, CP_*, TC_*, RC_ #define NOVIRTUALKEYCODES // VK_* #define NOWINMESSAGES // WM_*, EM_*, LB_*, CB_* #define NOWINSTYLES // WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_* #define NOSYSMETRICS // SM_* #define NOMENUS // MF_* #define NOICONS // IDI_* #define NOKEYSTATES // MK_* #define NOSYSCOMMANDS // SC_* #define NORASTEROPS // Binary and Tertiary raster ops #define NOSHOWWINDOW // SW_* #define OEMRESOURCE // OEM Resource values #define NOATOM // Atom Manager routines #define NOCLIPBOARD // Clipboard routines #define NOCOLOR // Screen colors #define NOCTLMGR // Control and Dialog routines #define NODRAWTEXT // DrawText() and DT_* #define NOGDI // All GDI defines and routines #define NOKERNEL // All KERNEL defines and routines #define NOUSER // All USER defines and routines #define NOMB // MB_* and MessageBox() #define NOMEMMGR // GMEM_*, LMEM_*, GHND, LHND, associated routines #define NOMETAFILE // typedef METAFILEPICT #define NOMINMAX // Macros min(a,b) and max(a,b) #define NOMSG // typedef MSG and associated routines #define NOOPENFILE // OpenFile(), OemToAnsi, AnsiToOem, and OF_* #define NOSCROLL // SB_* and scrolling routines #define NOSOUND // Sound driver routines #define NOTEXTMETRIC // typedef TEXTMETRIC and associated routines #define NOWH // SetWindowsHook and WH_* #define NOWINOFFSETS // GWL_*, GCL_*, associated routines #define NOCOMM // COMM driver routines #define NOKANJI // Kanji support stuff. #define NOHELP // Help engine interface. #define NOPROFILER // Profiler interface. #define NODEFERWINDOWPOS // DeferWindowPos routines Including this file ahead of windows.h will inhibit virtually everything initially, but experience will tell you the handful of #defines that you need to comment out. Most of my apps only have 5 or 6 sections of windows.h used and as a result they now compile even FASTER! Yay! John Munsch