Sσwyєяº 0 Denunciar post Postado Maio 7, 2008 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 : 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
omar.pessoa 1 Denunciar post Postado Maio 9, 2008 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
Sσwyєяº 0 Denunciar post Postado Maio 9, 2008 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
omar.pessoa 1 Denunciar post Postado Maio 12, 2008 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