Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sσwyєяº

kct .. ¬¬

Recommended Posts

Bom galera..desculpe a "sumida" ..mas é que eu estou em um periodo de trânsição de linguagens... eu peguei um total abuso da "black window" do C ..¬¬ logo estou passando para C++ .. e o que eu fazendo é tentando passar os programinhas acadêmicos que fazia em C para o C++ usando o visual studio ou o wxdev C++ ...

 

bom vamos lá.. eu estou tentando fazer um simples form que some dois numeros... em C é muuuuito Fácio.. mas vejam a minha dificuldade..

 

eu crio o projeto form no visual,coloco Três editsbox e um button1 e fica assim :

 

Imagem Postada

 

e o código que o visual gera é esse:

 

#pragma once


namespace Soma {

	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>
	/// Summary for Form1
	///
	/// WARNING: If you change the name of this class, you will need to change the
	///		  'Resource File Name' property for the managed resource compiler tool
	///		  associated with all .resx files this class depends on.  Otherwise,
	///		  the designers will not be able to interact properly with localized
	///		  resources associated with this form.
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: Add the constructor code here
			//
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: System::Windows::Forms::Button^  button1;
	protected: 
	private: System::Windows::Forms::TextBox^  textBox1;
	private: System::Windows::Forms::TextBox^  textBox2;
	private: System::Windows::Forms::TextBox^  textBox3;

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->button1 = (gcnew System::Windows::Forms::Button());
			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
			this->textBox2 = (gcnew System::Windows::Forms::TextBox());
			this->textBox3 = (gcnew System::Windows::Forms::TextBox());
			this->SuspendLayout();
			// 
			// button1
			// 
			this->button1->Location = System::Drawing::Point(219, 184);
			this->button1->Name = L"button1";
			this->button1->Size = System::Drawing::Size(75, 23);
			this->button1->TabIndex = 0;
			this->button1->Text = L"+";
			this->button1->UseVisualStyleBackColor = true;
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(37, 120);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(194, 20);
			this->textBox1->TabIndex = 1;
			// 
			// textBox2
			// 
			this->textBox2->Location = System::Drawing::Point(270, 120);
			this->textBox2->Name = L"textBox2";
			this->textBox2->Size = System::Drawing::Size(208, 20);
			this->textBox2->TabIndex = 2;
			// 
			// textBox3
			// 
			this->textBox3->Location = System::Drawing::Point(37, 244);
			this->textBox3->Name = L"textBox3";
			this->textBox3->Size = System::Drawing::Size(441, 20);
			this->textBox3->TabIndex = 3;
			this->textBox3->TextChanged += gcnew System::EventHandler(this, &Form1::textBox3_TextChanged);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(535, 347);
			this->Controls->Add(this->textBox3);
			this->Controls->Add(this->textBox2);
			this->Controls->Add(this->textBox1);
			this->Controls->Add(this->button1);
			this->Name = L"Form1";
			this->Text = L"soma dois  Numeros";
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion
	private: System::Void textBox3_TextChanged(System::Object^  sender, System::EventArgs^  e) {
			 }
	};
}

 

o evento do botão tem que ser implementado aqui :

 

private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e) 
{
   // coloque a função para somar aqui .
}

só que eu ñ sei como fazer para quando eu clicar no botão ele dispare o o evento (chamar a função para somar o conteúdo dos dois editbox e imprimir o resultado no editbox de baixo do botão..

 

 

se alguem por gentileza puder me ajudar ficarei agradecido..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo.

 

Seguinte no editor de resource (editor de tela), selecione o botão e vá na TAB de propriedades.

 

Clique no raio, na parte superior da TAB.

 

Aparecerão os eventos desse tipo de controle.

 

Ou somente dando um duplo clique em cima do botão, será criado o evento OnClick!

 

Existem várias maneiras de fazer isso!

 

void Form1::OnBnClickedButton1()
{
	int num1 = this->GetDlgItemInt(IDC_EDIT1);
	int num2 = this->GetDlgItemInt(IDC_EDIT2);

	SetDlgItemInt(IDC_EDIT3,num1+num2);
}
Ou então criando variáveis menbro para os controles!

 

Abraço. Espero ter resolvido sua dúvida!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum...ñ deu certo tb ñ... tipo .. veja o erro que dá..

 

 

1>c:\documents and settings\administrador\meus documentos\visual studio 2008\projects\agora\agora\Form1.h(119) : error C2039: 'GetDlgItemInt' : is not a member of 'agora::Form1'

 

 

1>agora - 3 error(s), 0 warning(s)

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

ou seja ..está dizendo que ñ é membro de 'agora::Form1'

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, então crie duas variáveis membro daqueles controles...

 

No editor de resource, selecione o edit1, clique com o botao direito do mouse, e selecione add variable, na categoria, mude para valor... e no tipo, o tipo que você quiser.

 

Faça isso com todos eles. (digamos que escolhi os nomes, m_vlrCampo1 para o edit 1, e m_vlrCampo2 para o edit 2 e sucessivamente)

 

agora tente com o método assim:

 

void Form1::OnBnClickedButton1()
{
	UpdateData(false);
	m_vlrCampo3 = m_vlrCampo1 + m_vlrCampo2;
	UpdateData(true);
}

Assim é para funcionar. Se não funcionar, me passe certinho os passos de criação do dialogo.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.