SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: dana_krycek en Lunes 2 de Agosto de 2004, 18:36

Título: Menus En Visual C++
Publicado por: dana_krycek en Lunes 2 de Agosto de 2004, 18:36
Hola
Cuando en visual c++ .net creo un menu que quiero que tenga las típicas funciones de abrir archivo, guardar..., ¿cómo lo hago? Ya sé que con el asistente de MFC crea ese tipo de menús directamente pero estoy creando una aplicación y quiero que sólo se puedan abrir archivos con una extensión determinada.

Gracias
Título: Re: Menus En Visual C++
Publicado por: 5erg10 en Martes 3 de Agosto de 2004, 22:54
Pues a ver, puedes usar la clase CFileDialog que muestra un cuadro de diálogo de los típicos de Windows para abrir archivos. Si lo que quieres es que solo muestre archivos con una extension determinada, se lo tendrías que indicar al constructor de dicha clase, de la siguiente forma:

Código: Text
  1.  
  2. char * extensiones = "Fichero tipo 1|*.tp1|Fichero tipo 2|*.tp2|Todos los ficheros (*.*)|*.*||";
  3.  
  4. char * extension_por_defecto = "la_que_quieras"
  5.  
  6. CFileDialog dlg(TRUE, extension_por_defecto, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, extensiones, NULL);
  7.  
  8. dlg.DoModal();
  9.  
  10.  
  11.  

En la cadena "extensiones" van los tipos de extensiones que se podrán elegir para mostrar (igual que por ejemplo el wordpad, que puedes elegir varios tipos de extensiones), y en "extension_por_defecto" va la extension por defecto de tus archivos.

Si quieres más información de la clase CFileDialog, visita el enlace siguiente:

http://msdn.microsoft.com/library/default....CFileDialog.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_CFileDialog.3a3a.CFileDialog.asp)

PD. bueno, se me olvidaba, puedes crear el menú con el asistente de MFC y él te añadirá la clase CFileDialog, después la modificas para que funcione con las extensiones que te crea (es que lo de hacer tus propios menús es chungo de explicar, me sabía un enlace donde lo explicaban, pero ahora lo he probao y no funciona)
Título: Re: Menus En Visual C++
Publicado por: ryanortegarios en Lunes 28 de Febrero de 2005, 20:02
Que tal.

Estoy tratando de eliminar opciones de un POPUP MENU que esta hecho con AppendMenu teine alguien algun ejemplo de la utilizacion de esta herramienta.


 :smartass:
Título: Re: Menus En Visual C++
Publicado por: ryanortegarios en Martes 1 de Marzo de 2005, 17:38
La funcion Append menu la consegui en la libreria de MSDN:
CMenu::AppendMenu
BOOL AppendMenu( UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = NULL );

BOOL AppendMenu( UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp );

Return Value

Nonzero if the function is successful; otherwise 0.

Con eso me defendi.

Ahora estoy tratando de incluir la siguiente funcion. Hasta ahora la tengo declarada en la clase correspondiente pero meda un error.

void CMainFrame::OnUpdatePopuptopMinimize(CCmdUI* pCmdUI)
{
pCmdUI->Enable(!IsIconic());   
}

error C2601: 'OnUpdatePopuptopMinimize' : local function definitions are illegal


Tiene alguien una idea.

 :(
Título: Re: Menus En Visual C++
Publicado por: ryanortegarios en Martes 1 de Marzo de 2005, 17:51
Resuelto el error C2601: 'OnUpdatePopuptopMinimize' : local function definitions are illegal, habia una falla de escritura (Un { de mas).



 :kicking: