-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
속성을 재정의 할 수
안녕하세요,이 기사 (http://www.codeproject.com/Articles/12563/Hosting-of-MFC-MDI-Applications-from-Within-WinFor)가 도움이 될 수 있습니다. – ArthurCPPCLI
물론 CreateWindowEx() 호출은 정상적으로 작동합니다. 하지만 당신은 그것을 Control으로 감쌀 수 없습니다. FromHandle()은 nullptr을 반환 할 것입니다. 단추에서 알림 메시지를 가져 오려면 WndProc()를 재정의해야합니다. 제 3 자 컨트롤을 사용하려면 * 정확히 * 요구됩니다. 매우 명확하지 않으며 아무도 이것을하지 않습니다. 물론 그들에게 질문해야합니다. –