In an embedded product, the extra code size may be an issue, particularly where a
whole product is built up of many smaller DSM models. In a distributed project,
coherence of code generated with different versions of the generator may be a sticking
point. In a multiplatform project??”even just over several versions of Windows??”the
code to open the dialog would vary on each platform, so moving the variability from
the generator to the framework would simplify adding new platforms. In all cases,
Occam??™s razor applies: source code explains to the computer what it should do, and
the fewer words we can do that in, the better.
BOOL GetSaveFileName(
LPOPENFILENAME lpofn
typedef struct tagOFN {
lStructSize; DWORD
hwndOwner; HWND
hInstance; HINSTANCE
LPCTST
lpstrCustomFilter; LPTSTR
nMaxCustFilter; DWORD
nFilterIndex; DWORD
LPTSTR
nMaxFile; DWORD
lpstrFileTitle; LPTSTR
nMaxFileTitle; DWORD
lpstrInitialDir; LPCTSTR
lpstrTitle; LPCTSTR
DWORD
Flags;
nFileOffset; WORD
nFileExtension; WORD
lpstrDefExt; LPCTSTR
lCustData; LPARAM
lpfnHook; LPOFNHOOKPROC
lpTemplateName; LPCTSTR
pvReserved; void *
dwReserved; DWORD
FlagsEx; DWORD
} OPENFILENAME, *LPOPENFILENAME;
From MSDN Library, Win32 and COM development,
?© 2006 Microsoft Corporation.
Flags
This member can be a combination of the
following flags.
Pages:
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588