公開下拉式方塊專案Owner-Drawn

應用程式開發人員不需要實作 IAccessible ,即可在具有樣式 CBS_HASSTRINGS 的擁有者繪製下拉式方塊中公開專案,因為 Microsoft Active Accessibility 會以這個樣式公開下拉式方塊中的專案。 具有 CBS_HASSTRINGS 樣式的擁有者繪製下拉式方塊中的專案會顯示為文字。 不過,此樣式也會與不會顯示文字的擁有者繪製下拉式方塊搭配使用,讓下拉式方塊專案由 Microsoft Active Accessibility 公開。

若要允許 Microsoft Active Accessibility 在未顯示文字的擁有者繪製下拉式方塊中公開專案:

  • 建立下拉式方塊時,請使用 CBS_HASSTRINGS 樣式。
  • 建立文字對應專案,以命名或描述下拉式方塊中的每個專案。
  • 將專案新增至擁有者繪製的下拉式方塊時,請使用CB_ADDSTRING訊息來新增您想要 Microsoft Active Accessibility 公開的文字。 此文字未顯示,因此不得為擁有者繪製資料的一部分。 使用CB_SETITEMDATA訊息新增擁有者繪製的專案資料。

使用上述方法時,請注意下列事項:

  • 如果您使用 CBS_SORT 樣式,下拉式方塊會使用提供的字串排序,而不是 WM_COMPAREITEM 回呼程式。
  • 使用以樣式CBS_OWNERDRAWVARIABLE建立的擁有者繪製變數下拉式方塊,請使用全域變數或其他機制來追蹤MEASUREITEMSTRUCTitemData成員是否有效。 全域變數是必要的,因為系統會在新增字串之後,但在附加專案資料之前,立即傳送 WM_MEASUREITEM 訊息,此時 itemData 成員無效。
  • 若要使用 CBS_HASSTRINGS 樣式變更下拉式方塊中專案的字串,請使用 CB_DELETESTRING 訊息刪除專案,並使用 CB_ADDSTRING 訊息新增字串。