2009-04-24 10 views
1

Ich benötige ein Handle für jedes Steuerelement, das über den minimalen TabIndex verfügt. Ich habe versucht, GetNextDlgTabItem() zu verwenden und einen 0-Zeiger für das zweite Argument zu übergeben, aber das zurückgegebene Handle ist nicht immer das erste in der Tab-Reihenfolge des Bildschirms. Gedanken?Steuerung mit minimalem TabIndex erhalten

Antwort

0

Ich endete damit, zu verfolgen, welches Feld den Fokus auf die Last hatte, und stellte dann den Fokus nur bei Bedarf auf diesen zurück.

2

Dirty-Methode: Versuchen Sie, Ihre Sammlung von Steuerelementen durchzulaufen und die mit dem kleinsten Registerindex zu verfolgen. Wenn die Schleife abgeschlossen ist, sollten Sie den Index des Steuerelements in dieser Auflistung mit der kleinsten tabindex -Eigenschaft zurückgeben können .

+0

Danke: o) Ich habe gehofft, für etwas ein wenig saubere ... wenn ich mit etwas nicht kommen kann, der wahrscheinlich, was ich am Ende mit –

0
 public Control GetFirstTabindexControl(Control container) 
     { 
      Control res= container.GetNextControl(container, true); 
      if (!res.CanSelect) 
       res= GetFirstTabindexControl(res); 
      return res; 
     } 
+3

Bitte füge Erklärung auf Ihre Antwort zu tun. – Pio