MFC의 Dialog 크기 조절에 따른 ActiveX 리사이징
- Posted at 2008/07/16 03:30
http://www.action-scripter.com/blog/trackback/1081

MFC Application에 ActiveX(Flash Player)를 추가한 후 Dialog 크기를 조절할 때마다 ActiveX의 크기도 함께 조절되도록 하려면 먼저 Dialog의 Properties 패널에서 Message 이벤트의 WM_SIZE를 선택한 후 OnSize를 선택합니다. OnSize는 플래시에서 Stage 크기가 변경될 때마다 실행되는 메서드와 같다고 생각하시면 됩니다. OnSize를 선택하면 자동으로 기본 코드가 추가 되는데요. 제가 작업한 코드를 소개하겠습니다.
-
void CKOBALTDlg::OnSize(UINT nType, int cx, int cy)
-
{
-
if (m_FlashPlayer) {
-
CDialog::OnSize(nType, cx, cy);
-
CRect rect;
-
GetClientRect(&rect);
-
m_FlashPlayer.MoveWindow(rect.left, rect.top, rect.Width(), rect.Height(), TRUE);
-
}
-
}
Dialog의 이름은 KOBALT이고, Flash Player의 이름은 m_FlashPlayer입니다.
OnSize 이벤트가 실행되면 먼저 m_FlashPlayer가 있는지 여부에 따라 4 ~ 7번 라인의 코드가 실행됩니다. m_FlashPlayer가 있다면 현재 Dialog의 크기 값을 참조해서 m_FlashPlayer에 MoveWindow() 함수를 이용해서 값을 전달하게 됩니다.
이렇게 하면 Dialog의 크기를 변경할 때마다 Flash Player의 크기도 함께 변경됩니다.
Comments List
-
코드 컬러링 달았군.
근데 싸이언색이 좀 가독성이 떨어지는 것 같은데...-
형. 텍스트큐브에서 코드 컬러링 풀로그인이 지원이 안돼. 엉엉. 이거 그냥 GeSHi에서 변환하고 긁어다가 붙여 넣은거야. 액션스크립트 코드는 색상이 괜찮은데 C++ 코드 변환했더니 색상이 이렇게 나오네. 아~ 내가 그냥 수정하면 되겠구나. 크크.
-
-
감사합니다^^ 많은 도움이 되었어요
-
오래전에 작업하면서 올렸던 글인데 도움이 되셨다니 다행이네요.
-










