|
검은하늘 님이 쓰신 글 :
: 고수님들의 자문을 구하고자 합니다...꾸벅
:
: 혹시 비쥬월 C++해서 사용하는 Cwnd 와 같은 역할을 하는 C++ Builder의 클래스를 알수 있을까요...ㅠ.ㅠ
:
: 문제가 되는 소스를 보면....
: typedef struct {
: HWND hWndParent;
: }MC_INIT, * PMC_INIT, * PMC_INIT;
:
: CWnd* m_pMainWnd;
:
: MC_INIT InitStruct;
: InitStruct.hWndParent = m_pMainWnd->m_hWnd;
: mcInit(&InitStruct);
:
: VC++에서 이런 소스가 있는데.. 이 부분을 C++ Builder로 옮겨오면 위의 CWnd* 이부분에서 에러가...ㅜ.ㅜ
: 빌더에는 저 CWnd가 없다고 나와요.. 혹시 다른 방법이나.
: 서로 대응되는 클래스를 아시는분 꼭좀 알려주세요...ㅠ.ㅠ
: 고수님들의 자문을 구합니다.....
위의 코드를 바꿔주는데 있어서 실제적으로 문제가 되는 부분은 질문에서도 언급되었듯이
MFC의 클래스인 CWnd 클래스입니다.
그러나, 조금만 Win32 API 프로그래밍을 보셨다면, CWnd를 몰라도 위의 코드를
간단합니다.
InitStruct.hWndParent 는 HWND를 저장할 수 있는 변수로 이름에도 알 수 있듯이
Parent Window 의 HANDLE을 담기 위한 MC_INIT의 데이터 멤버입니다.
그러므로, 이 구조체의 Parent Handle을 담으면 됩니다.
저도 C++ 빌더를 본지 3일 정도 밖에 안돼서 정확한지 잘 모르겠지만, TWinControl 쪽에 보니
WindowHandle이라는 property가 있던데 그걸 넣으면 되지 않을까 생각되는군요.
물론 Parent 측이 TWinControl에서 상속받는 Control이라는 전제하지만요...
|