ATLFire 샘플: 창 있는 컨트롤 빌드
업데이트: 2007년 11월
ATLFire 샘플은 m_bWindowedOnly 플래그를 TRUE로 설정하는 방법으로 ATL을 사용하는 창 있는 컨트롤을 빌드하는 방법을 보여 주는 ActiveX 컨트롤입니다. 또한 MFC 그리기 코드를 Win32 코드로 변환하는 데 필요한 작업도 보여 줍니다. 이 샘플에서는 Win32 대화 상자와 속성 시트를 위한 ATL 지원을 사용하며 ActiveX 컨트롤에서 Win32 탭 컨트롤을 사용하는 방법도 보여 줍니다. 또한 일부 ATL 매크로도 보여 줍니다.
ATLFire 특성 샘플은 이 샘플의 특성 사용 버전입니다.
보안 정보: |
---|
이 샘플 코드는 개념을 보여 주기 위해 제공되며 가장 안전한 코드 작성 방법을 제시하지 않을 수 있으므로 응용 프로그램이나 웹 사이트에서 사용할 수 없습니다. Microsoft는 샘플 코드를 원래 용도 이외의 다른 용도로 사용하는 경우 발생하는 부수적이나 파생적인 손해에 대해 책임을 지지 않습니다. |
샘플 및 이를 설치하기 위한 지침을 가져오려면
Visual Studio의 도움말 메뉴에서 샘플을 클릭합니다.
자세한 내용은 샘플 파일 찾기를 참조하십시오.
최신 버전 및 전체 샘플 목록은 Visual Studio 2008 Samples 페이지에서 온라인으로 사용할 수 있습니다.
컴퓨터의 하드 디스크에서도 샘플을 찾을 수 있습니다. 기본적으로 샘플과 추가 정보 파일은 \Program Files\Visual Studio 9.0\Samples\ 아래의 폴더에 복사됩니다. Visual Studio Express Edition의 경우에는 모든 샘플이 온라인에 있습니다.
샘플 빌드 및 실행
이 샘플을 빌드하고 실행하려면
솔루션 파일인 ATLFire.sln을 엽니다.
빌드 메뉴에서 빌드를 클릭합니다.
샘플을 빌드한 후 웹 브라우저에서 FireTabCtrl.htm을 열고 이 샘플이 시뮬레이션하는 다양한 발생 형식을 테스트합니다.
ActiveX Control Test Container에서 ATLFire 컨트롤을 테스트할 수 있습니다. 테스트 컨테이너에 액세스하고 테스트 컨테이너를 사용하여 컨트롤을 테스트하는 데 대한 자세한 내용은 Test Container를 사용하여 속성 및 이벤트 테스트를 참조하십시오.
클래스 및 키워드
이 샘플에서는 다음의 ATL 클래스를 사용합니다.
CComObjectRootEx, CComCoClass, CComControl, IDispatchImpl, IProvideClassInfo2Impl, IPersistStreamInitImpl, IPersistStorageImpl, IPersistPropertyBagImpl, IPerPropertyBrowsingImpl, IQuickActivateImpl, IObjectSafetyImpl, IOleControlImpl, IOleObjectImpl, IOleInPlaceActiveObjectImpl, IViewObjectExImpl, IOleInPlaceObjectWindowlessImpl, IDataObjectImpl, ISupportErrorInfo, ISpecifyPropertyPagesImpl, IConnectionPointContainerImpl, IPropertyNotifySinkCP, CDialogImpl
이 샘플에서는 다음의 키워드를 사용합니다.
_ASSERTE, _itot, _tcstol, ALT_MSG_MAP, Apply, ATLTRACE, BEGIN_COM_MAP, BEGIN_CONNECTION_POINT_MAP, BEGIN_MSG_MAP, BEGIN_OBJECT_MAP, BEGIN_PROPERTY_MAP, CComCoClass, CComModule::GetClassObject, CComModule::GetLockCount, CComModule::Init, CComModule::RegisterServer, CComModule::Term, CComModule::UnregisterServer, CComObjectRootEx, CDialogImpl, ClientToScreen, COM_INTERFACE_ENTRY, COM_INTERFACE_ENTRY_IMPL, COM_INTERFACE_ENTRY_IMPL_IID, COMMAND_HANDLER, COMMAND_ID_HANDLER, CONNECTION_POINT_ENTRY, CPropDlg::DoModal, CreateBitmap, CreatePalette, DECLARE_REGISTRY_RESOURCEID, DeleteDC, DeleteObject, DestroyMenu, DisableThreadLibraryCalls, EnableWindow, END_COM_MAP, END_CONNECTION_POINT_MAP, END_MSG_MAP, END_OBJECT_MAP, END_PROPERTY_MAP, EndDialog, FillRect, FireOnChanged, GetActiveWindow, GetClientRect, GetDlgItem, GetDlgItemText, GetModuleInstance, GetWindowRect, IConnectionPointContainerImpl, IDataObjectImpl, IDispatchImpl, InitFire, InlineIsEqualGUID, IObjectSafetyImpl, IOleControlImpl, IOleInPlaceActiveObjectImpl, IOleInPlaceObjectWindowlessImpl, IOleObjectImpl, IPersistPropertyBagImpl, IPersistStorageImpl, IPersistStreamInitImpl, IPropertyNotifySinkCP, IProvideClassInfo2Impl, IQuickActivateImpl, ISpecifyPropertyPagesImpl, ISupportErrorInfo, IViewObjectExImpl, memcpy, MESSAGE_HANDLER, MessageBox, NOTIFY_CODE_HANDLER, OBJECT_ENTRY, OnActivate, OnApply, OnCancel, OnCreate, OnDestroy, OnEraseBackground, OnInitDialog, OnOK, OnPaint, OnPaletteChanged, OnProperties, OnPropertyChanged, OnQueryNewPalette, OnRButtonDown, OnSelChanged, OnSelChanging, OnSize, OnTimer, PAINTSTRUCT, PeekMessage, PROP_ENTRY, RealizePalette, SelectObject, SendMessage, SetTimer, SetWindowPos, TrackPopupMenuEx, UnregisterClass