Programming/ActiveX (7) 썸네일형 리스트형 [ActiveX] INF 파일 팁 CLASSID="CLSID:F11605C2-4A62-4F9C-9808-1000000000000"CODEBASE="inoexl1.CAB#version=1,0,0,0">CLASSID="CLSID:F11605C2-4A62-4F9C-9808-1000000000000" width="660" height="480" CODEBASE="inoexl1.CAB#version=1,0,0,0">--> [ActiveX] Java Script 함수 호출하기 출처 : 데브피아(글번호:429331) Fire event는 외부로 보내기 위한 이벤트로 알고 있습니다. 그래서 내부에서 호출하면 안될수가 있죠... 만약 ActiveX에서 웹페이지로 이벤트를 보내서 그 결과를 실행하기 위해서는... 우선 ocx에 FireEvent를 하나 만듭니다. 만드는 방법은, (닷넷에서)클래스뷰에 있는 ActiveX 클래스에서 우클릭한 다음, " 추가하기 -> 이벤트 " 를 클릭합니다. 그러면 아래 그림과 같은 창이 나옵니다. 이벤트 이름에 FireNoticeMessage를 입력합니다. 필요에 따라서 매개변수도 추가해주면 됩니다. 그리고 마침버튼을 누릅니다. 이제 이벤트 처리는 끝났습니다. 그러면 이제는 웹페이지에서 그이벤트를 받아 처리하는 함수를 하나 만들면 되겠죠... 예를 들.. [ActiveX] 이벤트 추가하기 간단하게 추가하는 방법은 컨트롤 클래스에서 우클릭후, 이벤트 추가 클릭하면 된다. 내가 말하고자 하는 내용은 이를 코딩으로 추가하는 것이다. 1. XXX.idl 파일에서 // CApp200Ctrl의 이벤트 디스패치 인터페이스입니다. [ uuid(어쩌구 저쩌구 여기는 sID값이 있는곳입니다.), helpstring("App200 Control의 이벤트 인터페이스") ] dispinterface _DAPP200Events { properties: // 이벤트 인터페이스에 속성이 없습니다. methods: [id(1)] void FireRun(void); //변수가 없는 이벤트 추가 [id(2)] void FireGetID(BSTR _sessionID); //변수가 있는 이벤트 추가 }; 2. XXXCtrl... [ActiveX] ActiveX Control은 다 만들어 놨지만 막상 웹에서 띄우려니까 화면은 안나오고 빨간 엑스박스의 압박만 하염없이 바라본지 어느덧 이틀이 지났다. 그러다가 결국 오늘, 이 시간에 해냈다. 화면에 내가 만든 ActiveX Control 이 나온다. 으흐흐 좋아라~ 이게 원래는 Windows2000에서는 나왔었지만, 이상하게 WindowXP SP2에서는 안나와서 이거 잡느라고 이틀이 걸린것이다. 진짜 너무하네 ActiveX -_-;; 암튼 해결방법은 미친병아리님의 홈페이지에서 찾았다. http://www.madchick.com/Default.asp?Page=2&SubPage=2&3thPage=1# 그리고 내 생각인데, ActiveX는 WindowXP SP2에선 안전한 컨트롤이라는게 인식이 되야지만 화면.. [ActiveX] 쉬프트+탭 입력 하기 PreTranslateMessage()에서 if(GetKeyState(VK_SHIFT)message) { case WM_KEYDOWN: switch (pMsg->wParam) { case VK_TAB: if(pMsg->hwnd == GetDlgItem(IDU_GROUP_SENDSMS_EDIT )->m_hWnd) m_groupRecvNumEdit .SetFocus(); else if(pMsg->hwnd == GetDlgItem(IDU_GROUP_SENDNUM_EDIT )->m_hWnd) m_groupSendSmsEdit .SetFocus(); else if(pMsg->hwnd == GetDlgItem(IDU_GROUP_FIND_EDIT )->m_hWnd) m_groupSendNumEdit .SetFocus.. [ActiveX] 버튼클릭 할 때 모달리스 중복 생성되지 않게.. //버튼 눌렀을 때 중복해서 실행되지 않게 하는 코드 //그룹 전송 버튼 눌렀을 때 //생성자에 코딩한다. m_bActivex2Dialog = FALSE; //버튼 클릭 했을때 이벤트 추가한 함수이다. void CRP2ClientDlg::ClickGroupPage() { if(m_bActivex2Dialog) { pActivex2Dialog = new CActivex2Dlg(); pActivex2Dialog->Create(IDD_DIALOG2,this); pActivex2Dialog->ShowWindow(SW_SHOW); m_bActivex2Dialog = FALSE; //pExcelDialog->EndDialog(TRUE); } else return; } [ActiveX] 테트리스 제작을 포함한 ActiveX 배우기 블로그 > http://www.cyworld.com/xiahouen http://blog.naver.com/xiahouen/150005067248 이전 1 다음