2011-11-07 5 views
0

GUI로 구성 요소를 만들고 관대하게 만들려고합니다. 내가 한 코드는 다음과 같습니다. 그러나 내가 원하는 것을하지 않는다는 것을 알고 있습니다. 또한 알지도 못합니다. 내가 어떻게 할 수 있는지.구성 요소를 만드는 일반 형식

#using <System.Drawing.dll> 
#using <System.Windows.Forms.dll> 

using namespace System; 
using namespace System::Drawing; 
using namespace System::Windows::Forms; 

public ref class GUI : public Form 
{ 
private: 
    int x, y; 
    String^ text; 
    Button^ btm; 

public: 
    GUI(int _x, int _y, String^ caption) 
    { 
     x = _x; 
     y = _y; 
     text = caption; 
     init_btm(); 
    } 
    void init_btm() 
    { 
     btm = gcnew Button(); 
     btm->Location = Point(x, y); 
     btm->Text = text; 
     Controls->Add(btm); 
    } 
}; 

int main(array<System::String ^> ^args) 
{ 
    Application::Run(gcnew GUI(20,20,"Ola mundo")); 
    return 0; 
} 

나는 이런 식으로 뭔가를 만들려고 해요는 ...

오히려, 구성 요소를 만들고 잘 형태 에 구성 요소를 추가하는 동적 인 방법은, 내가 무엇을 할 것이라고하는 클래스를 생성 어디 양식에서이 같은 아마 뭔가를이 버튼을 추가, 액세스, 여러 버튼,이 클래스를 만들 수 있습니다

ADD_BTM^ btm; 
btm->Add(20,20,"Hello 1"); 
btm->Add(20,20,"Hello 2"); 
내 인터페이스, 내가 공부하고 C를 "디자인"하지 않은 이유 또한 궁금 할 수있다

++/CLI, 나는이 프로그램을 만들려고 노력 중이며 공부하고있다. . 도움을 주셔서 감사합니다.

public 섹션 GUI의에서 :

void AddButton(int x, int y, String^ caption) 
{ 
    auto button = gcnew Button(); 
    button->Location = Point(x, y); 
    button->Text = caption; 
    Controls->Add(button); 
} 

main을에서 이미 폼에 새 단추를 추가하는 방법을 알고

+0

문제를 좀 더 자세히 설명해 주시겠습니까? 무엇이 보이는지? 오류가 있습니까? –

+0

좋아요, 나는 게시물을 편집했습니다 ... – Alexandre

+0

궁금 해서요, 왜 이것에 C++/CLI를 사용하려고합니까? – svick

답변

1

, 당신은 단지 방법에 매개 변수를 추가 한 다음 반복적으로 호출 할 필요가 :

auto form = gcnew GUI(); 

form->AddButton(20, 20, "Hello 1"); 
form->AddButton(40, 40, "Hello 2"); 

Application::Run(form); 

(코드는 C++ 11에서 auto을 사용하면 VS 2010 사용하지 않는 경우에, 다만. 실제 유형으로 바꾸십시오.)

+0

버튼에 하나의 함수 핸들을 추가하려면, 예를 들어 버튼을 클릭하면 messagebox를 보여줍니다 .... 어떻게 할 수 있습니까? – Alexandre

관련 문제