Hola!!!
Me gustaría hacer que mi aplicación al darle a un botón se cierre.
Os dejo imagen....
(http://img638.imageshack.us/img638/8030/afmasjlnwnhnm.png)
Saludos!! Soy bastante novato en esto, así que si me podeis explicar despacio mejor... Gracias. ^^
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.
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
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
Cita de: Ariath en 28 Agosto 2010, 21:57 PM
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
Estoy 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
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
Creo que deberías empezar leyendo este post (http://foro.elhacker.net/programacion_cc/principios_basicos_de_programacion_windows_lenguaje_c-t299760.0.html)
Lo 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
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) {
}
};
}
Estas en la sección incorrecta, te lo muevo a .NET.
Saludos
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.
[nobbc] [/nobbc]
Eso está en C++ CLI, así que prácticamente es un mutante entre C++ y .Net :)
Si quieres hacer que tu aplicación se cierre tienes que primero poner el botón :)
Segundo manejar el evento con un método.
Y luego en ese método Poner Application::Exit(); en C++ CLI o Application.Exit(); En C#
Si tienes más dudas utiliza el mismo post.
Cita de: [D4N93R] en 29 Agosto 2010, 01:02 AM
Eso está en C++ CLI, así que prácticamente es un mutante entre C++ y .Net :)
Si quieres hacer que tu aplicación se cierre tienes que primero poner el botón :)
Segundo manejar el evento con un método.
Y luego en ese método Poner Application::Exit(); en C++ CLI o Application.Exit(); En C#
Si tienes más dudas utiliza el mismo post.
Pues lo del método, no se como hacerlo...
Esque soy nuevo en esto...
1 saludo.
Soir... no te ofendas por esto pero, si tan verde estás en programación, quizás deberías, antes de intentar hacer esto, entrenar más la misma.
Aparte, para hacer el programa que intentas hacer, y teniendo en cuenta lo verde aparentemente que estás, yo recomendaría descartar C++ y usar un lenguaje más asequible, como Visual Basic.
Salu2
Pon End dentro del codigo de tu boton.
salu2!
Cita de: Drinky94 en 30 Agosto 2010, 21:11 PM
Pon End dentro del codigo de tu boton.
salu2!
No es VB :P
Cita de: [D4N93R] en 29 Agosto 2010, 01:02 AM
Eso está en C++ CLI, así que prácticamente es un mutante entre C++ y .Net :)
Si quieres hacer que tu aplicación se cierre tienes que primero poner el botón :)
Segundo manejar el evento con un método.
Y luego en ese método Poner Application::Exit(); en C++ CLI o Application.Exit(); En C#
Si tienes más dudas utiliza el mismo post.
No, si no me ofendo, sé demás que estoy verdillo... jaja
Bueno, gracias por la ayuda a todos! Me pondré a hacer cosas básicas, a ver que tal.