ActiveX
-
컨테이너ActiveX/컨트롤 2008. 12. 16. 23:55
// 웹페이지 속성의 초기값 설정 // 프로퍼티 맵 컴포넌트 카테고리 컴포넌트의 기능을 표현하는 일반적인 방법 웹 페이지에서 사용될 때 해당 ActiveX 컨트롤은 모든 웹 페이지 상에서 자신이 안전하다는 것을 보장해야 한다. 컨트롤의 안정성을 보장하지 않으면 Internet Explorer의 보안 설정을 낮음으로 설정하지 않으면 아예 동작을 하지 않는다. // ObjectSafety - 파일 시스템을 조작하지 않는다. - 자신을 등록 또는 해제하는 것을 제외하고는 시스템 레지스트리를 조작하지 않는다. - 배열의 범위를 넘어선다든가 메모리를 부적절하게 조작하지 않는다. - 모든 입력값에 대해서 데이터의 유효성을 확인한다. - 사용자 또는 사용자가 제공한 데이터를 부적절하게 사용하지 않는다. Microso..
-
MFCActiveX/컨트롤 2008. 12. 16. 01:16
AfxOleInit() Ole초기화 스레드 마다? 액셀러레이터 키(화살표, 탭 키같은)를 ActiveX 컨트롤 컨테이너의 메시지 펌프가 가로채기 때문에, 컨트롤에 포커스가 있어도 키 메시지를 받지 못한다. MFC 액티브X 컨트롤은 PretranslateMessage 함수를 오버라이드함으로써 이러한 메시지들을 가로챌 수 있다. 그러나, MFC 액티브X 컨트롤의 PreTranslateMessage 함수가 항상 호출되는 것은 아니다. PreTranslateMessage 함수는 컨트롤의 IOleInPlaceActiveObject 인터페이스의 TranslateAccelerator 메소드가 호출한다. 인터넷 익스플로러는 현재 UI-Active인 컨트롤에 한해서 이 메소드를 호출한다. 한번에 하나의 컨트롤 만이 UI..
-
Out of Process, MFCActiveX/Automation 2008. 11. 28. 00:08
1. AppWizard로 SDI 프로젝트를 생성한다. 이 때 스텝3에서 [Automation]을 체크한다. 2. ClassView에서 인터페이스를 선택해서 팝업메뉴에서 [Add Method]/[Add Property]를 사용해서 메소드와 프라퍼티를 추가한다. /* or ClassWizard's Automation page Add Method button Add Property button */ modifications to the project's source code files: The method and its dispatch ID are added to the project's ODL file. The function that implements the method is declared in the..
-
복합문서ActiveX/OLE 2008. 11. 10. 22:07
CDocTemplate .SetContainerInfo() .SetServerInfo() COleClientItem OnChange 서버에 뭔가 변화가 있을 때마다 호출 OnGetItemPosition 서버가 실행될 때, 어느 위치에 어느 정도 크기로 실행되어야 할지 결정하기 위하여 호출 .Delete() .Close() .Serialize() // virtual .Draw() .DoVerb() OLEIVERB_OPEN | OLEIVERB_PRIMARY .CopyToClipboard() .CreateFromClipboard() COleServerItem .Serialize() virtual 서버의 데이터를 컨테이너에 전달 .OnGetExtent() .OnDraw() 메타파일(서버의 모습)을 컨테이너에 전..