Microsoft DirectX 9.0 |

*This topic applies to Windows XP Service Pack 1 only.*

An angle block usually denotes a video segment that was shot from more than one camera angle. There can be up to nine angles in an angle block, numbered from 1 through 9. When the DVD Navigator filter first enters an angle block, it sends your application an **EC_DVD_ANGLES_AVAILABLE** event notification with the number of angles in *lParam1*. A disc can be authored to automatically show a menu for available angles when it enters an angle block, but generally an application must determine the number of angles available and offer the user a way to select one.

The **AnglesAvailable** property lists the total number of angles available within the whole title, not the number of angles available at the time of the call. Thus, a call to **AnglesAvailable** might return a value of 9, when in fact there may only be 6 angles available in the current angle block, and 3 different angles available in the next angle block.

Angle numbers are not unique, but ordinal, so in a title of 9 angles, if block A has 6 angles and block B has 3 different angles, block A angles will be numbered 1–6, and block B angles will be numbered 1–3 (not 7–9).

Setting **CurrentAngle** to a number higher than the currently available highest angle will not cause an error, but merely set the currently viewed angle to the highest currently available angle. However, the angle number you set will be retained in the **CurrentAngle** property, and when (if) that angle does become available, the player will switch to that angle. Setting **CurrentAngle** to a number higher than the number of angles in the current title (returned by **AnglesAvailable**) will cause an error.

The following code shows how to populate the list box *lboAngles* with currently available angles, and how to enable or disable it as appropriate. It occurs within the **DVDNotify** event's **Select** **Case** block. For more information on handling disc events, see MSVidWebDVD Events.

```
Case EC_DVD_ANGLE_CHANGE
lboAngles.Clear
For i = 1 To oVidWebDVD.AnglesAvailable
lboAngles.AddItem "Angle " & i
Next i
Case EC_DVD_ANGLES_AVAILABLE
lboAngles.Enabled = lParam1
```

The following text shows how to handle a click on the *lboAngles* list box to change the viewing angle:

```
Private Sub lboAngles_Click()
' Angle list is 1-based!
oVidWebDVD.CurrentAngle = lboAngles.ListIndex + 1
End Sub
```

**See Also**