Udostępnij za pośrednictwem


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

  1. Wstaw okólnikH w CMYVIEW.H, tuż przed CMyView definicję klasy:

    #include "circ.h"
    
  2. 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();
    };
    
  3. Dodaj WM_CREATE obsługi wiadomości do klasy CMyView.

  4. 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;
    }
    
  5. Odbuduj projekt.Formant okólnik zostanie utworzona dynamicznie przy każdym utworzeniu widoku aplikacji.

Zobacz też

Koncepcje

Pojemniki formantu ActiveX