Makale numarası: 129649 - Son Gözden Geçirme: 21 Kasım 2006 Salı - Gözden geçirme: 2.1 SORUN: GetActiveView bir MDI çerçeve penceresi için NULL döndürüyor
BelirtilerÇerçeve penceresi (CFrameWnd) etkin görünümü (varsa) bağlı GetActiveView() işlevini verir. Bu işlev, bir MDI ana çerçeve penceresi (CMDIFrameWnd) için çağrıldığında bir NULL döndürüyor. NedenMDI uygulamada MDI ana çerçeve penceresi (CMDIFrameWnd), kendisiyle ilişkilendirilmiş bir görünüm yok. Bunun yerine, her tek tek bir alt pencere (CMDIChildWnd) ilişkili bir veya daha çok görünümü vardır. Bu nedenle, bir MDI ana çerçeve penceresi için <a1>GetActiveView()</a1> işlevine bir çağrı NULL döndürüyor. Bu makalenin "Daha fazla bilgi" bölümünde farklı bir MDI uygulama pencerelerinde düzenini sağlar. ÇözümBu sorunu gidermek için <a0></a0>, etkin olan MDI alt penceresi (varsa) ve sonra arama GetActiveView() işlevi için bu alt pencere Bul. Etkin olan MDI alt pencere MDIGetActive() veya GetActiveFrame() işlevini çağırarak bu kodda gösterildiği şekilde bulunabilir: Daha fazla bilgiMDI çerçeve penceresi istemci alanının MDICLIENT, çalışma alanı olarak da bilinen başvuru istemci pencere olarak ele alınmıştır. Bu istemci penceresi, her biri bu diyagramı gibi bir görünümü, görüntüleme, sıfır veya daha çok alt pencereleri de içerir:
---------------------------
| Frame Window | ---> CMDIFrameWnd
| (main application window) |
---------------------------
|
--------------------
| Client Window | ---> MDICLIENT window class
| (no view attached) |
--------------------
|
-----------------------------------------------------------
| |
--------------------- --------------------
| Child Window 1 | | Child Window 2 | ---> CMDIChildWnd
| (one or more views) | | (one or more views |
--------------------- --------------------
Bu nedenle, bir MDI ana çerçeve penceresi GetActiveView() işlevini çağırma NULL, doğrudan MDICLIENT ile ilişkili yok bir görünüm olduğunu implying döndürür. Etkin görünümün bir MDI uygulamadan önce etkin olan MDI alt pencere bulma ve bu makalenin "Çözüm bölümünde özetlendiği gibi etkin görünüm için alt pencere sonra bulma elde edilebilir. Referanslar"Windows 3.1 programlama" Charles Petzold, Microsoft, 1992 basın. Bu makaledeki bilginin uygulandığı durum:
Otomatik TercümeÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir. Makalenin İngilizcesi aşağıdaki gibidir:129649
(http://support.microsoft.com/kb/129649/en-us/
)
| Diğer Kaynaklar Diğer Destek Siteleri
ToplulukMakale çevirileri |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Üste