Autor
|
Tema: Botón que cierra aplicación (Leído 7,184 veces)
|
Soir
Desconectado
Mensajes: 25
|
Hola!!! Me gustaría hacer que mi aplicación al darle a un botón se cierre. Os dejo imagen.... Saludos!! Soy bastante novato en esto, así que si me podeis explicar despacio mejor... Gracias. ^^
|
|
|
En línea
|
|
|
|
Ariath
|
Bonita foto de Nagrand . Una curiosidad, ¿Estás programando un selector de reinos en C++? Lo digo porque, a mí personalmente, me parece un poco exagerado usar C++ para ese tipo de aplicaciones. Pueden hacerse bien en C# o incluso VB sin gran esfuerzo. Salu2 P.D: No se si esto te servirá, pero te lo pongo por si acaso, lo he encontrado googleando por ahí: bool clsWin = DestroyWindow(ventana); if(clsWin != 0) { //Tratamiento de errores. }
Osea, ese sería el código que destruye la ventana, faltaría manejar el evento de clic en el botón de la misma.
|
|
|
En línea
|
|
|
|
Soir
Desconectado
Mensajes: 25
|
Hmmm... Gracias, bueno, esque te comento, tengo 2 reinos, entonces, 1 es blizzlike y el otro custom, entonces cuando se ejecute el botón de entrar al blizzlike, se renombran los parches custom del reino custom para que no jueges en el blizzlike con los parches del custom... Es algo lioso... jaja Mira, intente meterlo en el click, y me sale: 1>Index Loader 1.0.cpp 1>c:\users\jorge\documents\visual studio 2008\projects\index loader 1.0\index loader 1.0\Form1.h(96) : error C2065: 'DestroyWindow' : identificador no declarado
|
|
|
En línea
|
|
|
|
Ariath
|
Espera, espera... que me estoy perdiendo un poco, ¿Los parches custom de los que hablas... se refieren simplemente al cambio de realmlist? Hace no mucho hice yo un lanzador para el servidor para el que juego, aunque en este caso Java, por aquello de la multiplataforma. El DestroyWindow no lo he usado nunca, solo es algo que he encontrado antes, pero supongo que requiere como argumento la ventana que tiene que destruir, y en esa muestra le has suprimido el argumento. Salu2 P.D: Mmm... vale, te preguntaba en la anterior versión del post este si estabas usando Visual Studio, pero ya veo que si. Prueba con esto que acabo de encontrar: http://answers.yahoo.com/question/index?qid=20080211145558AAWTB26
|
|
« Última modificación: 28 Agosto 2010, 22:00 pm por Ariath »
|
En línea
|
|
|
|
Soir
Desconectado
Mensajes: 25
|
Espera, espera... que me estoy perdiendo un poco, ¿Los parches custom de los que hablas... se refieren simplemente al cambio de realmlist? Hace no mucho hice yo un lanzador para el servidor para el que juego, aunque en este caso Java, por aquello de la multiplataforma. El DestroyWindow no lo he usado nunca, solo es algo que he encontrado antes, pero supongo que requiere como argumento la ventana que tiene que destruir, y en esa muestra le has suprimido el argumento. Salu2 P.D: Mmm... vale, te preguntaba en la anterior versión del post este si estabas usando Visual Studio, pero ya veo que si. Prueba con esto que acabo de encontrar: http://answers.yahoo.com/question/index?qid=20080211145558AAWTB26Estoy muy verde en esto... jeje Bueno, me refiero a los parches custom de mi servidor, editar screens, edita logos, terrenos etc... entonces a ese programa le voy a añadir dos imagenes, cuando hagas click a la del reino blizzlike se renombran los parches para que el WoW no los cargue ,así la gente puede alternar a que reino quieren jugar. y eso tampoco me sirve... jeje Si lo pongo así me da este error 1>c:\users\jorge\documents\visual studio 2008\projects\index loader 1.0\index loader 1.0\Form1.h(99) : error C2228: el operando izquierdo de '.close' debe tener class/struct/union 1> el tipo es 'IndexLoader10::Form1 ^const ' 1> ¿deseaba utilizar '->' en su lugar?
Y si cambio el . por el -> tambien me sale error
|
|
|
En línea
|
|
|
|
Ariath
|
Oye... solo una sugerencia, ¿Y si usas C# en vez de C++ para el programa? No se cuanto código tendrás pero... es que creo que te dará menos quebraderos de cabeza . Salu2
|
|
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Creo que deberías empezar leyendo este postLo que quieres hacer es sencillo tanto en C# como en C++, pero dependerá del código que lleves hecho. Si puedes exponerlo, aunque sea el manejo de la ventana, se haría mucho mas fácil. Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Soir
Desconectado
Mensajes: 25
|
Hmmm No tengo casi nada de código, estoy sobre todo con los gráficos. Aquí os lo dejo... #pragma once namespace IndexLoader10 { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// <summary> /// Resumen de Form1 /// /// ADVERTENCIA: si cambia el nombre de esta clase, deberá cambiar la /// propiedad 'Nombre de archivos de recursos' de la herramienta de compilación de recursos administrados /// asociada con todos los archivos .resx de los que depende esta clase. De lo contrario, /// los diseñadores no podrán interactuar correctamente con los /// recursos adaptados asociados con este formulario. /// </summary> public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: agregar código de constructor aquí // } protected: /// <summary> /// Limpiar los recursos que se estén utilizando. /// </summary> ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::Button^ button1; protected: private: /// <summary> /// Variable del diseñador requerida. /// </summary> System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code /// <summary> /// Método necesario para admitir el Diseñador. No se puede modificar /// el contenido del método con el editor de código. /// </summary> void InitializeComponent(void) { System::ComponentModel::ComponentResourceManager^ resources = (gcnew System::ComponentModel::ComponentResourceManager(Form1::typeid)); this->button1 = (gcnew System::Windows::Forms::Button()); this->SuspendLayout(); // // button1 // this->button1->BackColor = System::Drawing::Color::Transparent; this->button1->BackgroundImageLayout = System::Windows::Forms::ImageLayout::None; this->button1->Cursor = System::Windows::Forms::Cursors::Hand; this->button1->FlatAppearance->BorderSize = 0; this->button1->FlatStyle = System::Windows::Forms::FlatStyle::Popup; this->button1->ForeColor = System::Drawing::Color::Transparent; this->button1->Location = System::Drawing::Point(692, 0); this->button1->Name = L"button1"; this->button1->Size = System::Drawing::Size(26, 24); this->button1->TabIndex = 0; this->button1->UseVisualStyleBackColor = false; this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click); // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->BackgroundImage = (cli::safe_cast<System::Drawing::Image^ >(resources->GetObject(L"$this.BackgroundImage"))); this->ClientSize = System::Drawing::Size(719, 569); this->Controls->Add(this->button1); this->FormBorderStyle = System::Windows::Forms::FormBorderStyle::None; this->MaximizeBox = false; this->Name = L"Form1"; this->StartPosition = System::Windows::Forms::FormStartPosition::CenterScreen; this->Text = L"Form1"; this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load); this->ResumeLayout(false); } #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { } private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) { } }; }
|
|
« Última modificación: 29 Agosto 2010, 01:03 am por [D4N93R] »
|
En línea
|
|
|
|
Littlehorse
All the world's a stage
Colaborador
Desconectado
Mensajes: 2.714
Nie Dam Sie
|
Estas en la sección incorrecta, te lo muevo a .NET.
Saludos
|
|
|
En línea
|
An expert is a man who has made all the mistakes which can be made, in a very narrow field.
|
|
|
Ariath
|
Si al BBCode de Code lo dejas como [Code=cpp] te quedará mucho mejor el código posteado . Salu2 P.D: LH, échame un cable si te acuerdas anda, ¿Cual era el BBCode para indicar precisamente que no procese lo de dentro como BBCode? xD. Me lo dijeron hace tiempo, pero se me ha olvidado, y cada vez que quiero mostrar como usar uno... no puedo xD. P.D 2: Gracias , Estaba probando antes con [NoBBCode], y claro... xD.
|
|
« Última modificación: 28 Agosto 2010, 23:21 pm por Ariath »
|
En línea
|
|
|
|
|
|