Proje Oluşturma (ATL Eğitmeni, Bölüm 1)
Bu öğretici, çokgen görüntüleyen bir ActiveX nesnesi oluşturan, özniteliksiz bir ATL projesinde adım adım size yol gösterir. nesnesi, kullanıcının çokgeni oluşturan taraf sayısını değiştirmesine olanak sağlayan seçenekler ve görüntüyü yenilemek için kod içerir.
Not
Bu öğretici, Çokgen örneğiyle aynı kaynak kodunu oluşturur. Kaynak kodu el ile girmekten kaçınmak istiyorsanız, çokgen örnek özetinden indirebilirsiniz. Daha sonra öğreticide çalışırken Çokgen kaynak koduna başvurabilir veya kendi projenizdeki hataları denetlemek için kullanabilirsiniz. Derlemek için pch.h dosyasını (Visual Studio 2017 ve önceki sürümlerde stdafx.h) açın ve şunu değiştirin:
#ifndef WINVER
#define WINVER 0x0400
#endif
örneklerini şununla değiştirin:
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Derleyici yine de doğru şekilde çıkılmadığından şikayet regsvr32
eder, ancak yine de denetimin DLL'sine sahip olmanız ve kullanılabilir durumda olmanız gerekir.
ATL Proje Sihirbazı'nı kullanarak ilk ATL projesini oluşturmak için
Visual Studio 2017 ve önceki sürümlerde: >Dosya Yeni>Proje. Visual C++ sekmesini açın ve MFC/ATL'yi seçin. ATL Projesi'ne tıklayın.
Visual Studio 2019: Dosya>Yeni>Proje'yi seçin, arama kutusuna "atl" yazın ve ATL Projesi'ni seçin.
Proje adı olarak Çokgen yazın.
Kaynak kodun konumu genellikle \Users\username>\source\<repos olarak varsayılandır ve otomatik olarak yeni bir klasör oluşturulur.
Visual Studio 2019'da varsayılan değerleri kabul edin ve Tamam'a tıklayın. Visual Studio 2017'de Tamam'a tıklayarak ATL Projesi sihirbazını açın. Kullanılabilir seçenekleri görmek için Uygulama Ayarları'na tıklayın. Bu proje bir denetim oluşturduğundan ve bir denetimin işlem içi sunucu olması gerektiğinden , Uygulama türünü DLL olarak bırakın. Tamam'a tıklayın.
Visual Studio, birkaç dosya oluşturarak projeyi oluşturur. Nesneyi genişleterek Polygon
bu dosyaları Çözüm Gezgini görüntüleyebilirsiniz. Dosyalar aşağıda listelenmiştir.
Dosya | Açıklama |
---|---|
Polygon.cpp | , , DllCanUnloadNow , DllGetClassObject DllRegisterServer ve DllUnregisterServer uygulamalarını DllMain içerir. Ayrıca projenizdeki ATL nesnelerinin listesi olan nesne eşlemesini içerir. Bu, başlangıçta boş olur. |
Polygon.def | Bu modül tanımı dosyası, bağlayıcıya DLL'nizin gerektirdiği dışarı aktarmalar hakkında bilgi sağlar. |
Polygon.idl | Nesnelerinize özgü arabirimleri açıklayan arabirim tanımı dil dosyası. |
Polygon.rgs | Bu kayıt defteri betiği, programınızın DLL'sini kaydetmeye yönelik bilgiler içerir. |
Polygon.rc | Başlangıçta sürüm bilgilerini ve proje adını içeren bir dizeyi içeren kaynak dosyası. |
Kaynak.h | Kaynak dosyasının üst bilgi dosyası. |
Polygonps.def | Bu modül tanım dosyası bağlayıcıya, daireler arasında çağrıları destekleyen proxy ve saplama kodu tarafından gereken dışarı aktarmalar hakkında bilgi sağlar. |
stdafx.cpp | #include stdafx.h. |
stdafx.h | ATL üst bilgi dosyalarını derleyen #include ve önceden derleyen dosya. |
Dosya | Açıklama |
---|---|
Polygon.cpp | , , DllCanUnloadNow , DllGetClassObject DllRegisterServer ve DllUnregisterServer uygulamalarını DllMain içerir. Ayrıca projenizdeki ATL nesnelerinin listesi olan nesne eşlemesini içerir. Bu, başlangıçta boş olur. |
Polygon.def | Bu modül tanımı dosyası, bağlayıcıya DLL'nizin gerektirdiği dışarı aktarmalar hakkında bilgi sağlar. |
Polygon.idl | Nesnelerinize özgü arabirimleri açıklayan arabirim tanımı dil dosyası. |
Polygon.rgs | Bu kayıt defteri betiği, programınızın DLL'sini kaydetmeye yönelik bilgiler içerir. |
Polygon.rc | Başlangıçta sürüm bilgilerini ve proje adını içeren bir dizeyi içeren kaynak dosyası. |
Kaynak.h | Kaynak dosyasının üst bilgi dosyası. |
Polygonps.def | Bu modül tanım dosyası bağlayıcıya, daireler arasında çağrıları destekleyen proxy ve saplama kodu tarafından gereken dışarı aktarmalar hakkında bilgi sağlar. |
pch.cpp | #include pch.h. |
pch.h | ATL üst bilgi dosyalarını derleyen #include ve önceden derleyen dosya. |
Çözüm Gezgini'da projeye sağ tıklayın
Polygon
.Kısayol menüsünde Özellikler'e tıklayın.
Bağlayıcı'ya tıklayın. Kullanıcı BaşınaRedirection seçeneğini Evet olarak değiştirin.
Tamam'a tıklayın.
Sonraki adımda, projenize bir denetim ekleyebilirsiniz.