Een fileopendialog window komt standaard op in de List modus. Dat is niet altijd handig. Zelf zou ik veel liever zien dat dit scherm altijd in Report modus komt, dwz inclusief de bestandsgrootte en -datum.
Dat kan door een FCIDM_SHVIEW_REPORT bericht te sturen . Als we naar een VO implementatie kijken, dan maken we een subclass van de Opendialog en plaatsen een SendMessage in de Dispatch methode.
Ik heb de verschillende defines er even bijgezet, zodat jehet window bijv. ook standaard in TumbNail mode kan laten zien.
Happy VO-en,
Erik Visser
CLASS SDN_Opendialog INHERIT OpenDialog
METHOD Dispatch( Oe, uMess ) CLASS SDN_opendialog
LOCAL h1 AS PTR
IF oE:message = 78
h1 := FindWindowEx( uMess , 0, String2Psz("SHELLDLL_DefView"), String2Psz('') )
SendMessage( h1, WM_COMMAND, FCIDM_SHVIEW_REPORT, 0 )
ELSE
RETURN SUPER:Dispatch( oE ,uMess )
ENDIF
RETURN 0L
DEFINE FCIDM_SHVIEW_LARGEICON := 0x00007029
DEFINE FCIDM_SHVIEW_SMALLICON := 0x0000702A
DEFINE FCIDM_SHVIEW_LIST := 0x0000702B
DEFINE FCIDM_SHVIEW_REPORT := 0x0000702C
DEFINE FCIDM_SHVIEW_THUMBNAIL := 0x0000702D // XP
DEFINE FCIDM_SHVIEW_TILE := 0x0000702E /