Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uyarı
Microsoft Foundation Sınıfları (MFC) kitaplığı desteklenmeye devam ediyor. Ancak artık özellik eklemeyeceğiz veya belgeleri güncelleştirmeyeceğiz.
Etkin belge kapsayıcı uygulaması oluşturmanın en basit ve en önerilen yolu, MFC Uygulama Sihirbazı'nı kullanarak bir MFC EXE kapsayıcı uygulaması oluşturmak ve ardından uygulamayı etkin belge kapsamasını destekleyecek şekilde değiştirmektir.
Etkin belge kapsayıcısı uygulaması oluşturmak için
Dosya menüsünde Yeni alt menüsünden Proje'yetıklayın.
Sol bölmeden Visual C++ proje türü'ne tıklayın.
Sağ bölmeden MFC Uygulaması'nı seçin.
Projeyi MyProj olarak adlandırın, Tamam'a tıklayın.
Bileşik Belge Desteği sayfasını seçin.
Kapsayıcı veya Kapsayıcı/Tam sunucu seçeneğini belirleyin.
Etkin belge kapsayıcısı onay kutusunu seçin.
Finish (Son) düğmesine tıklayın.
MFC Uygulama Sihirbazı uygulamayı oluşturma işlemini tamamladığında Çözüm Gezgini'ni kullanarak aşağıdaki dosyaları açın:
- MyProjview.cpp
MyProjview.cpp'da aşağıdaki değişiklikleri yapın:
içinde
CMyProjView::OnPreparePrinting, işlev içeriğini aşağıdaki kodla değiştirin:if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrintingyazdırma desteği sağlar. Bu kod, varsayılan yazdırma hazırlığı olanDoPreparePrintingöğesinin yerini alır.Etkin belge kapsama gelişmiş bir yazdırma düzeni sağlar:
Önce etkin belgeyi arabirimi aracılığıyla
IPrintçağırabilir ve kendisini yazdırmasını söyleyebilirsiniz. Bu, kapsayıcının içerdiği öğenin görüntüsünü yazıcıCDCnesnesine işlemek zorunda kaldığı önceki OLE kapsamasından farklıdır.Bu başarısız olursa, içerilen öğeye kendi
IOleCommandTargetarabirimi aracılığıyla kendisini yazdırmasını söyleyin.Bu başarısız olursa, öğeyi kendi işlemenizi yapın.
Statik üye işlevleri
COleDocObjectItem::OnPrintveCOleDocObjectItem::OnPreparePrintingönceki kodda uygulandığı gibi, bu geliştirilmiş yazdırma düzenini işler.Kendi uygulamanızı ekleyin ve uygulamayı oluşturun.