Bei einem IP-Eingabefeld hat man die Möglichkeit, gezielt ein Feld auszuwählen und so beispielsweise eine Änderung durch den Benutzer zu verlangen. Das Beispielprogramm führt diese Fokussierung mit Hilfe eines Buttons vor, der nacheinander die einzelnen Felder ansteuert:
WM_COMMAND:
case HIWORD(wp) of
BN_CLICKED:
case LOWORD(wp) of
IDC_FOCUS:
begin
iFocus := (iFocus + 1) mod 4;
SendMessage(hIpAddr,IPM_SETFOCUS,iFocus,0);
end;
end;
end;
Benutzt wird hier eine integer-Variable, die bei der Initialisierung den Wert -1 erhalten hat. Das hat damit zu tun, dass die Zählweise der IP-Bytefelder mit Null beginnt. Durch den Buttonklick wird die Variable um Eins erhöht und entspricht somit dem tatsächlichen Feldzähler, der mit der Nachricht
Auch wenn damit ein wenig auf das nächste Thema vorgegriffen wird: Bei jedem Wechsel von einem Bytefeld zum anderen, bzw. beim Ändern des Wertes in einem Bytefeld, wird die Variable iFocus entsprechend angepasst, so dass sie immer das aktuell gewählte Bytefeld enthält.