2011-07-28 10 views
5

Quiero mostrar CFileDialog como la siguiente imagen en Windows 7.Display XP Estilo CFileDialog en Windows 7

desired dialog

Según msdn

si se establece OFN_ENABLETEMPLATE y OFN_EXPLORER bandera no es establecer, el sistema usa la plantilla para crear un cuadro de diálogo de estilo antiguo que reemplaza el cuadro de diálogo predeterminado.

Pero incluso después de hacer eso, lo que obtengo es algo como esto. The one I get

¡Por favor ayuda!

+0

El enlace a msdn está mal formado, ¿por qué lo sigues devolviendo a un texto en lugar de un enlace? – unkulunkulu

+0

stackoverflow no permite más de dos hipervínculos! y no permiten imágenes a la reputación de los usuarios por debajo de 10. así que utilicé hipervínculos para dos imágenes y tuve que hacer el texto del enlace msdn. solo falta la parte http: //. –

+0

¿Por qué quiere el antiguo estilo windows xp uno en lugar del equivalente a Windows 7? –

Respuesta

3

Prueba esto:

CFileDialog fd(1,0,0,0,0,0,0,FALSE); 
fd.m_ofn.lStructSize = sizeof(OPENFILENAME_NT4); 
fd.DoModal(); 

El último parámetro que especifica CTOR Vista de estilo que es falsa, y el tamaño de la estructura sizeof ed para reflejar con NT4 archivos de diálogo.

0

No creo que puedas. Esa ventana pertenece al sistema operativo y ya no está implementada. Lo más parecido que puede usar es el cuadro de diálogo de estilo antiguo.

Puede tratar de personalizar este enganchando la ventana, pero no es fácil y no creo que valga la pena.

+0

¡En realidad, la primera imagen es el único cuadro de diálogo que muestra otra aplicación en Windows 7! ¡Quiero saber si puedo mostrar CFileDialog desde mi aplicación de esa manera! Por favor revisa las dos imágenes. –

Cuestiones relacionadas