Pojemniki formantu ActiveX: Za pomocą formantów w pojemniku na okno dialogowe
W niektórych aplikacjach, takich jak SDI lub stosowania MDI można osadzić formantu w oknie aplikacji.Tworzenie funkcji składowej klasy otoki, wstawione przez Visual C++ można dynamicznie, utworzyć wystąpienia formantu bez potrzeby okno dialogowe.
Tworzenie Członkowskich funkcja ma następujące parametry:
lpszWindowName
Wskaźnik na tekst do wyświetlenia w tekst lub podpis właściwości formantu (jeśli ma zastosowanie).dwStyle
Style systemu Windows.Aby uzyskać pełną listę, zobacz CWnd::CreateControl.rect
Określa położenie i rozmiar formantu.pParentWnd
Zazwyczaj określa okno nadrzędne formantu, CDialog.Nie może być NULL.nID
Określa identyfikator formantu i może służyć przez kontener do odwoływania się do formantu.
W widoku Formularz wniosku SDI będzie jeden przykład za pomocą tej funkcji do dynamicznego tworzenia formantu ActiveX.Następnie można utworzyć wystąpienia formantu w WM_CREATE obsługi aplikacji.
Na przykład CMyView jest klasą widok główny CCirc klasy otoki i okólnikH jest nagłówek (.H) plik klasy otoki.
Wykonania tej funkcji jest procesem czterech kroków.
Do dynamicznego tworzenia formantu ActiveX w innych niż okno
Wstaw okólnikH w CMYVIEW.H, tuż przed CMyView definicję klasy:
#include "circ.h"
Dodać zmienną (typu CCirc) do chronionych sekcji CMyView znajdujące się w CMYVIEW definicji klasy.H:
class CMyView : public CView { ... protected: CCirc m_myCtl; public: afx_msg void OnViewCircdlg(); };
Dodaj WM_CREATE obsługi wiadomości do klasy CMyView.
W funkcji obsługi CMyView::OnCreate, wywołania do sterowania Create działać przy użyciu to wskaźnik jako okno nadrzędne:
int CMyView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; m_myCtl.Create(NULL, WS_VISIBLE, CRect(50,50,100,100), this, 0); m_myCtl.SetCaption(_T("Control created")); return 0; }
Odbuduj projekt.Formant okólnik zostanie utworzona dynamicznie przy każdym utworzeniu widoku aplikacji.