» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59752 de mesaje.
  • 7151 de topicuri.
  • 1013 de utilizatori.
  •  
  • oillaw e ultimul utilizator inregistrat.
[Detalii]

 
SkullBox Forum  |  Development  |  Java / C / C++ / C# (Moderators: AnaKonD, astan)  |  Topic: c++ .NET
Pagini: [1]
Print
c++ .NET [239 afisari]
Th3 P!mp
*


Mesaje: 186
OfflineOffline

WWW

buna am inceput sa umblu si eu cu form-urile din .net -> c++ si vreau sa fac o aplicatie simpla da cum am inceput am si ajuns la o problema  Big grin Oops ... am codul urmator
Code:
void setWindowTitle(char * title)
{
this->toolStripTextBox1->Text = "11111";
this->re
}

care tre sa schimbe un text  da vad ca nu merge ...
asta am in cpp-ul principal
Code:
Form1 ^f = gcnew Form1();


Application::Run(f);
f->setWindowTitle("asd");

(stiu ca nu folosesc title acolo Big grin .. da tot nu merge sa schimbe textul ...)

am incercat si cu L"text" si tot nu merge
din cate am vazut eu la MFC in  vc++ 6 trebuia dat un fel de update ... da aici daca dau this->update() nu merge ... cum sa fac aici sa imi schimbe textul (oricum cred ca se aplica la orice schimbare ...)
Logged

02-07-2009, 17:31 Twitt ::
AnaKonD
*


Mesaje: 520
OfflineOffline


Uite solutia mea:

Presupunand ca folosesti Visual C++ 2008 Express (e ala moca de la Micro$oft care abia dupa ce-l instalezi afli ca nu are MFC ca deh...e moca) creezi un nou proiect ( File -> New -> Project, unde selectezi Windows Forms Application in frame-ul din dreapta). Da-i un titlu sugestiv ( de exemplu "Setare titlu fereastra" ca in cazul meu) si apasa Ok. Dupa ce-l creeaza, iti va apare o fereastra goala in modul de design. Acum arunca si tu 2 butoane in fereastra respectiva impreuna cu un label si un textbox, ca in imaginea de mai jos:


Daca ai dificultati in crearea butoanelor, label-ului si a textbox-ului, da-mi un pm sau posteaza tot aici.

Acum vei putea vedea in Form1.h cum se seteaza spre exemplu textul dintr-un label sau cel de pe un buton, chestii care te vor ajuta sa intelegi rapid cum sa le folosesti. Mai departe da dublu click pe butonul pe care ai scirs "Iesire" si se va deschide automat Form1.h la declaratia functiei care se ocupa de event-ul acestui buton. Aici vei scrie doar:
Code:
Application::Exit();

adica ne-am facut propriul buton de inchidere al aplicatiei. Iar partea care te intereseaza pe tine, cea in legatura cu schimbarea textului din label apare acum. Da din nou dublu click, insa pe celalalt buton. La fel se va deschide Form1.h cu un prototip pentru functia ce se ocupa de event-ul acestui buton si scrie urmatoarele linii de cod:

Code:
//variabila care preia stringul din textbox
String ^ titlu;

//preluam titlul introdus de utilizator
titlu = textBox1->Text;

//schimbam textul din label; la fel se face si pentru text box
label1->Text = titlu;

//bonus: setam noul titlu al ferestrei
this->Text = titlu;

Gata. De acum nu trebuie decat sa rulezi aplicatia si sa vezi cum functioneaza.

Intregul cod din Form1.h :

Code:
#pragma once


namespace Setaretitlufereastra {

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::TextBox^  textBox1;
protected:
private: System::Windows::Forms::Label^  label1;
private: System::Windows::Forms::Button^  button1;
private: System::Windows::Forms::Button^  button2;

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->textBox1 = (gcnew System::Windows::Forms::TextBox());
this->label1 = (gcnew System::Windows::Forms::Label());
this->button1 = (gcnew System::Windows::Forms::Button());
this->button2 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
//
// textBox1
//
this->textBox1->Location = System::Drawing::Point(15, 56);
this->textBox1->Name = L"textBox1";
this->textBox1->Size = System::Drawing::Size(216, 20);
this->textBox1->TabIndex = 0;
this->textBox1->Text = L"Titlu";
//
// label1
//
this->label1->AutoSize = true;
this->label1->Location = System::Drawing::Point(12, 27);
this->label1->Name = L"label1";
this->label1->Size = System::Drawing::Size(216, 13);
this->label1->TabIndex = 1;
this->label1->Text = L"Introduceti titlul dorit in text box-ul de mai jos:";
//
// button1
//
this->button1->Location = System::Drawing::Point(15, 189);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(75, 23);
this->button1->TabIndex = 2;
this->button1->Text = L"Schimba titlu";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
//
// button2
//
this->button2->Location = System::Drawing::Point(376, 189);
this->button2->Name = L"button2";
this->button2->Size = System::Drawing::Size(75, 23);
this->button2->TabIndex = 3;
this->button2->Text = L"Iesire";
this->button2->UseVisualStyleBackColor = true;
this->button2->Click += gcnew System::EventHandler(this, &Form1::button2_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(463, 224);
this->Controls->Add(this->button2);
this->Controls->Add(this->button1);
this->Controls->Add(this->label1);
this->Controls->Add(this->textBox1);
this->Name = L"Form1";
this->Text = L"Prima mea fereastra";
this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
this->ResumeLayout(false);
this->PerformLayout();

}
#pragma endregion
private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
}
private: System::Void button2_Click(System::Object^  sender, System::EventArgs^  e)
{
Application::Exit();
}
private: System::Void button1_Click(System::Object^  sender, System::EventArgs^  e)
{
String ^ titlu;

titlu = textBox1->Text;

                                         label1->Text = titlu;
this->Text = titlu;
}
};
}



Ieri mi-am instalat si eu Visual C++ desi nu-mi place neam .Net . Sunt impotriva lui dar cum am probleme momentan cu C++ Builder (nu mai pot deschide nici macar un fisier ca sa-l citesc  angry ),
a trebuit sa fac un compromis. Sper doar sa nu tina mult Big grin .

Edit: sorry am vazut in programul tau char *title si am crezut ca e vorba de titlul ferestrei... Oops   am adaugat acum modificarea label-ului
Logged

"Sa nu te opresti niciodata din a-ti pune intrebari, curiozitatea sta la baza existentei."(Albert Einstein)
cross the line
03-07-2009, 11:43 Twitt ::
Th3 P!mp
*


Mesaje: 186
OfflineOffline

WWW

am reusit tot aseara sa rezolv .. se pare ca nu poate sa modifice nici o componenta decat din interior ... o sa mai invat
Logged

03-07-2009, 15:48 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Java / C / C++ / C# (Moderators: AnaKonD, astan)  |  Topic: c++ .NET
Jump to: