para poder ahorrarme todo el MFC y usar los Windows Forms estos nuevos, pero segun he leido en algunas Webs es incompatible. [/quote]
Es incompatible, y te explico porque. No es lo mismo los MFC que los windows form que nombras. En no se que post puse como se activaban los windows form, pero aqui te pongo el codigo para que veas que no es tan dificil el tema, ni te tienes que meter con los MFC.
Una ventana con un par de botones que al pulsarlos te saltan mensajes diferentes:
#include "stdafx.h" #using <mscorlib.dll> #include <tchar.h> using namespace System; #using <System.dll> #using <System.Drawing.dll> #using <System.Windows.Forms.dll> using namespace System::Drawing; using namespace System::Windows::Forms; using namespace System::ComponentModel;
__gc class MiVentana:public form { private: Button * boton1,*boton2; public: MiVentana () { boton1=new Button(); boton2=new Button(); boton1->Text="Primer Boton"; boton2->Text="Segundo Boton"; boton1->Location=Point(100,100); boton2->Location=Point(200,100); Controls->Add(boton1); Controls->Add(boton2); boton1->Click+=new EventHandler(this,this->AccionBoton1); boton2->Click+=new EventHandler(this,this->AccionBoton2); } ~MiVentana(){} AccionBoton1(Object *r,EventArgs * e) { MessageBox::Show("Presionaste el primer boton"); } AccionBoton2(Object *r,EventArgs * e) { MessageBox::Show("Presionaste el segundo boton"); } } int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) { Application::Run(new MiVentana); return 0; }
El MFC es un proyecto ya preparado que trae el .net para hacer programas rapidos en la que nos interesa más el aspecto físico del programa que el trabajo interno del programa..........yo como proyecto de mi titulacion (no es universitaria xDD) tuvimos que hacer el programa de un cyber, ý utilicé las mfc para 2 cosas:
1- Preparar las ventanas (como ves arriba es todo a mano con los windows form, mientras q en mfc es arrastrar con el raton xDD Encontre el truco a sacar las posiciones del MFC para usarlas en los windows forms) 2- Para presentar el proyecto (en una noche te haces todas las ventanas del programa, aunque no funcione ningun boton ni nada xDD)
CitarPreparar las ventanas (como ves arriba es todo a mano con los windows form, mientras q en mfc es arrastrar con el raton xDD O_O Yo lo flipo con esas "verdades" Abre un proyecto Windows en C++(.NET) Arrastra los controles al formulario En la ventana de Properties(F4->shorcut) configura las propiedades y los eventos Quema los libros de MFC que tengas Ahora otro tema, que el el compilador sea VS.NET no hace que el proyecto sea .NET. C++ tiene el modo "unsafe", el clásico y el Managed(.NET). ManagedC++ permite mezclarlos. PD: Que feo es Managed C++ (nooo)
El problema es que yo programe una DLL en Visual C++ 6 con varias utilidades. Ahora me gustaria saber si puedo usar esa misma DLL dentro de una aplicacion que use Windows Forms.
Muy buenas
Grugnorr, me parece q me entendiste mal. En las MFC es arrastrar componentes al formulario, tu las arrastras con el raton, les pones nombre, eventos, etc....pero con windows form has de ponerlo todo a mano (esto iba dirigido a los location xDD)
Dingo, en principio si que vas a poder, siempre que no haya ninguna incompatibilidad. Prueba con el codigo que te di antes (que por cierto, no tengo el .net y no puedo mirar si esta bien, siento si salta algun error al compilar, si eso me avisas (nooo) ) y a incluir tu libreria sin utilizarla.
Si consigues compilar sin que de ningun problema perfecto. El problema es si para esa libreria necesitas incluir las window.h. Si quieres hacer una prueba incluyelas, pero entonces deberas comentar todas las lineas q utilicen MessageBox::Show(), y hay q sustituirla por MessageBox() la cual tiene 4 datos pero no me acuerdo cuales son (nooo)
SUERTE ;)
CitarGrugnorr, me parece q me entendiste mal. En las MFC es arrastrar componentes al formulario, tu las arrastras con el raton, les pones nombre, eventos, etc....pero con windows form has de ponerlo todo a mano (esto iba dirigido a los location xDD) Que no tío. Abre un proyecto .NET y a la izquierda tienes la ToolBox con los componentes, los arrastras al formulario y en la ventana de Properties los configuras. Exactamente con todo lo que haces en MFC y muchas capacidades más ;) Dingo, puedes. Link
|