2014-10-29 5 views
-2

WinAPI 컨트롤 만들기 및 WinForms 기능을 혼합 할 수 있습니까?WinForms 및 WinAPI 컨트롤을 혼합하십시오.

이러한 코드는 작동하지 않습니다.

HWND hWndButton = CreateWindowEx(NULL, 
    "BUTTON", 
    "OK", 
    WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON, 
    50, 
    220, 
    100, 
    24, 
    (HWND)Handle.ToInt32(), 
    (HMENU)101, 
    GetModuleHandle(NULL), 
    NULL); 
System::Windows::Forms::Control^ control = 
    System::Windows::Forms::Control::FromHandle(System::IntPtr(hWndButton)); 
Controls->Add(control); 

WinForms 응용 프로그램에 다른 회사에서 작성한 일부 C++ Win32 API를 추가하려면이 작업을 수행해야합니다.

당신이 원하는 클래스의 이름을 지정 Control 클래스에서 CreateParams 속성을 재정의 할 수

+0

안녕하세요,이 기사 (http://www.codeproject.com/Articles/12563/Hosting-of-MFC-MDI-Applications-from-Within-WinFor)가 도움이 될 수 있습니다. – ArthurCPPCLI

+0

물론 CreateWindowEx() 호출은 정상적으로 작동합니다. 하지만 당신은 그것을 Control으로 감쌀 수 없습니다. FromHandle()은 nullptr을 반환 할 것입니다. 단추에서 알림 메시지를 가져 오려면 WndProc()를 재정의해야합니다. 제 3 자 컨트롤을 사용하려면 * 정확히 * 요구됩니다. 매우 명확하지 않으며 아무도 이것을하지 않습니다. 물론 그들에게 질문해야합니다. –

답변

0

들으. 자세한 설명은 this 블로그 게시물을 참조하십시오.

관련 문제