• Viernes 3 de Mayo de 2024, 00:09

Autor Tema:  Menus En Visual C++  (Leído 4030 veces)

dana_krycek

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Menus En Visual C++
« en: Lunes 2 de Agosto de 2004, 18:36 »
0
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

5erg10

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Menus En Visual C++
« Respuesta #1 en: Martes 3 de Agosto de 2004, 22:54 »
0
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

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)
Welcome to the Jungle

ryanortegarios

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Menus En Visual C++
« Respuesta #2 en: Lunes 28 de Febrero de 2005, 20:02 »
0
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:
RYAN

ryanortegarios

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Menus En Visual C++
« Respuesta #3 en: Martes 1 de Marzo de 2005, 17:38 »
0
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.

 :(
RYAN

ryanortegarios

  • Nuevo Miembro
  • *
  • Mensajes: 15
    • Ver Perfil
Re: Menus En Visual C++
« Respuesta #4 en: Martes 1 de Marzo de 2005, 17:51 »
0
Resuelto el error C2601: 'OnUpdatePopuptopMinimize' : local function definitions are illegal, habia una falla de escritura (Un { de mas).



 :kicking:
RYAN