注意: CB_SETTOPINDEX 和 CB_GETTOPINDEX 永遠傳回零在 Macintosh 上

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本:201116
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
在 Macintosh 上下拉式方塊訊息 CB_GETTOPINDEX 和 CB_SETTOPINDEX 失敗,並永遠傳回零 (0)。
發生的原因
沒有訊息處理常式的下拉式方塊視窗程序,Windows 流通程式庫中的這些訊息。
解決方案
取得下拉式清單] 方塊中清單方塊部分的指標,而使用 LB_GETTOPINDEX 和 LB_SETTOPINDEX。
狀況說明
Microsoft 已確認這是在本文開頭所列之 Microsoft 產品中的有錯誤。
其他相關資訊
下拉式方塊控制項是由編輯控制項和清單方塊控制項所組成。取得更多資訊有關下拉式方塊請參閱下列的 「 Microsoft 知識庫 」 中的文件:
65881Windows 下拉式方塊以及其如何關聯的部分資訊:
Intel 一邊編輯控制項會是組合方塊的第一個子系。 簡單的下拉式方塊的 Macintosh 有第一個控制項清單方塊控制項。

您可以使用 GetWindow 取得視窗控制代碼至清單方塊。一旦取得有效的控制代碼使用 LB_GETTOPINDEX 和 LB_SETTOPINDEX 訊息會提供與 CB_GETTOPINDEX 和 CB_SETTOPINDEX 相同的功能。

下列範例程式碼顯示 MFC 實作:

範例程式碼

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);}				
参考
(c) Microsoft Corporation 1999,保留所有的權限。由 Adam 金,Microsoft Corporation 的貢獻。

Macintosh CB_GETTOPINDEX CB_SETTOPINDEX 下拉式方塊清單方塊

警告:本文為自動翻譯

內容

文章識別碼:201116 - 最後檢閱時間:10/11/2013 20:42:45 - 修訂: 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 KbMtzh
意見反應
ERROR: at System.Diagnostics.Process.Kill() at Microsoft.Support.SEOInfrastructureService.PhantomJS.PhantomJSRunner.WaitForExit(Process process, Int32 waitTime, StringBuilder dataBuilder, Boolean isTotalProcessTimeout)