Hata: CB_SETTOPINDEX ve CB_GETTOPINDEX her zaman sıfır Macintosh üzerinde iade

Ö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:201116
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Belirtiler
Macintosh'ta, birleşik giriş kutusu iletileri CB_GETTOPINDEX ve CB_SETTOPINDEX başarısız ve her zaman sıfır (0) döndürür.
Neden
Bu iletiler <a0>Windows</a0> taşıma Kitaplığı'nda <a1>birleşik giriş kutusu</a1> penceresinde yordamdaki için hiçbir ileti işleyicileri vardır.
Çözüm
Birleşik giriş kutusunun liste kutusu bölümünde bir işaretçi edinmek ve LB_GETTOPINDEX ve LB_SETTOPINDEX kullanın.
Durum
Microsoft, bunun bu makalenin başında listelenen Microsoft ürünlerinde bir hata olduğunu onaylamıştır.
Daha fazla bilgi
Açılan kutu denetimi, bir düzenleme denetimi ve bir liste kutusu denetimi oluşur. Birleşik giriş kutuları hakkında ek bilgi için lütfen Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
65881Windows bir açılan kutu parçalarını BILGI: Ve kullanıcılar nasıl ilişkilendirin
ıntel tarafında, açılan kutunun ilk alt düzenleme denetimi var. Basit bir birleşik giriş kutusu için ilk denetim Macintosh liste kutusu denetimi vardır.

Liste kutusuna pencere tanıtıcısı GetWindow kullanılarak elde edilebilir. Geçerli bir tanıtıcı alındıktan sonra LB_GETTOPINDEX ve LB_SETTOPINDEX iletileri kullanılarak CB_GETTOPINDEX ve CB_SETTOPINDEX aynı işlevleri sağlar.

Aşağıdaki örnek kod, MFC uygulaması gösterilmiştir:

Örnek kod

class CCtrlsView : public CFormView{public:   CComboBox   m_comboindex;   int      m_currentIndex;#ifdef _MAC   CListBox m_comboList;#endif...};void CCtrlsView::OnInitialUpdate(){   CFormView::OnInitialUpdate();#ifdef _MAC   // Obtain pointer to combo's list box.   HWND hComboList = m_comboindex.GetWindow(GW_CHILD)->m_hWnd;   ASSERT(hComboList);   // Verify class name.   char className[50];   GetClassName(hComboList, className, 50);   ASSERT(lstrcmp(className, "ComboLBox") == 0);   // Subclass to use CListBox.   m_comboList.SubclassWindow(hComboList);#endif...}// A simple combo box with "set" and "get" buttons using// the values from an edit control.void CCtrlsView::OnSetindex(){   UpdateData(TRUE);#ifndef _MAC   m_comboindex.SetTopIndex(m_currentIndex);#else   m_comboList.SetTopIndex(m_currentIndex);#endif}void CCtrlsView::OnGetindex(){#ifndef _MAC   m_currentIndex = m_comboindex.GetTopIndex();#else   m_currentIndex = m_comboList.GetTopIndex();#endif   UpdateData(FALSE);}				
Referanslar
(c) Microsoft Corporation 1999, tüm hakları saklıdır. Katkıyı Gamze Can, Microsoft Corporation.

Macintosh CB_GETTOPINDEX CB_SETTOPINDEX bileşik_kutu liste

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 201116 - Son İnceleme: 02/05/2014 17:47:02 - Düzeltme: 2.0

Microsoft Visual C++ 4.0 Cross Development Edition for Macintosh, Microsoft Visual C++ 4.0 Cross Development Edition for Macintosh

  • kbnosurvey kbarchive kbmt kbbug KB201116 KbMttr
Geri bildirim