VS 2013 C++/CLI -> Windows Form
Ostatnio zmodyfikowano 2015-07-01 13:21
grzybek Temat założony przez niniejszego użytkownika |
VS 2013 C++/CLI -> Windows Form » 2015-07-01 08:31:38 Witam, Mam pytanie odnośnie Visual Studio 2013 C++ gdzie domyślnie nie ma typowych Windows Forms w CLR. Odpaliłem projekt jako CLI i przerobiłem na Windows Forms. Teraz z głównego pliku .cpp nie potrafię się dostać do np. textBox1, który zdefiniowany jest MyForm.h. Może ktoś pomóc ? Podejrzewam, że rozwiązanie jest banalne, ale coś mi nie wychodzi :( Dodam kawałek kodu z deklaracją Clasy w pliku MyForm.h: namespace ConsoleApplication1 { using namespace System; .... public ref class MyForm : public System::Windows::Forms::Form { public: MyForm( void ) { InitializeComponent(); } public: System::Windows::Forms::TextBox ^ textBox1; void InitializeComponent( void ) { this->textBox1 =( gcnew System::Windows::Forms::TextBox() ); this->textBox1->Text = L"test"; ... this->Controls->Add( this->textBox1 ); } } }
Jak w pliku głównym "dobrać" się do zmiennej textbox1 ? Pozdrawiam, grzybek |
|
Monika90 |
» 2015-07-01 11:32:24 #include "MyForm.h"
int main() { ConsoleApplication1::MyForm form; form.textBox1->Text = L"asdf"; System::Windows::Forms::Application::Run( % form ); }
chyba, nie znam tego języka. |
|
grzybek Temat założony przez niniejszego użytkownika |
» 2015-07-01 12:10:05 Dzięki bardzo, zadziałało !
Jedynie jak używać obiektu "form" np. w funkcjach ?
Nie można zadeklarować takiej zmiennej globalnie: ? ConsoleApplication1::MyForm form;
-err : variable witch static storage duration cannot have a ref class type
Pozdrawiam, grzybek |
|
Monika90 |
» 2015-07-01 13:21:11 Nie używaj zmiennych globalnych. A jeżeli już musisz, to spróbuj tego #include "MyForm.h"
ConsoleApplication1::MyForm ^ form;
int main() { form = gcnew ConsoleApplication1::MyForm; form->textBox1->Text = L"asdf"; System::Windows::Forms::Application::Run( form ); }
I znów nie wiem czy to jest poprawne, bo nie znam tego języka i nie chcę go znać. |
|
« 1 » |