Для закрепления материала нужно дополнить программу еще несколькими примерами получения различных свойств. Можно добавить отображение уровня заряда батареи, текущего состояния батареи, наличия радиоприемника и фотокамеры, названия сотового оператора и определение текущей ориентации экрана. Все это делает код, приведенный в листинге 10.15.

Листинг 10.15

private void butGetInfo_Click(object sender, EventArgs e) {

 lstInfo.Items.Add("Название оператора: " + SystemState.PhoneOperatorName);

 lstInfo.Items.Add("Наличие радио: " + SystemState.PhoneRadioPresent);

 lstInfo.Items.Add("Наличие камеры: " + SystemState.CameraPresent);

 lstInfo.Items.Add("Ориентация экрана " + SystemState.DisplayRotation);

}

private void butBattery_Click(object sender, EventArgs e) {

 // Уровень заряда батареи

 BatteryLevel batteryLevel = SystemState.PowerBatteryStrength;

 BatteryState batteryState = SystemState.PowerBatteryState;

 string strBatteryLevel = "Уровень заряда";

 switch (batteryLevel) {

 case BatteryLevel.VeryLow:

  strBatteryLevel = "Уровень заряда: Очень низкий (0-20%)";

  break;

 case BatteryLevel.Low:

  strBatteryLevel = "Уровень заряда: Низкий (21-40%)";

  break;

 case BatteryLevel.Medium:

  strBatteryLevel = "Уровень заряда: Средний (41-60%)";

  break:

 case BatteryLevel.High:

  strBatteryLevel = "Уровень заряда: Высокий (61-80%)";

  break;

 case BatteryLevel.VeryHigh:

  strBatteryLevel = "Уровень заряда: Очень высокий (81-100%)";

  break;

 }

 // Состояние батареи

 string strBatteryState = "Состояние батареи: ";

 if ((batteryState & BatteryState.Normal) == BatteryState.Normal)

  strBatteryState += "Нормальное";

 if ((batteryState & BatteryState.NotPresent) == BatteryState.NotPresent)

  strBatteryState += "Батарея отсутствует ";

 if ((batteryState & BatteryState.Charging) == BatteryState.Charging)

  strBatteryState += "Заряжается ";

 if ((batteryState & BatteryState.Low) == BatteryState.Low)

  strBatteryState += "Низкий заряд ";

 if ((batteryState & BatteryState.Critical) == BatteryState.Critical)

  strBatteryState += "Критическое";

 MessageBox.Show(strBatteryLevel + "\n" + strBatteryState);

}

<p>Мультимедиа</p>

Система Windows Mobile 5.0 обеспечивает еще более глубокую поддержку мультимедиа, чем предыдущие версии операционных систем. Теперь разработчики имеют возможность напрямую работать с фотокамерой, встраивая в свои программы взаимодействие с камерой и обработку картинок и видеороликов. Технология Microsoft DirectShow дает возможность управлять потоковыми мультимедийными материалами. Программа Microsoft Windows Media Player 10 Mobile позволяет интегрировать функциональность музыкального плеера в собственные приложения. Технология Microsoft DirectDraw предоставляет доступ к графической системе на более высоком уровне, а библиотека Microsoft Direct3D позволяет создавать очень сложные динамические игры, используя управляемый код. Эти возможности стоит рассмотреть подробнее.

<p>Выбор изображения</p>

В операционной системе Windows Mobile 5.0 стало поразительно легко работать с коллекцией фотографий и рисунков. При помощи стандартного диалогового окна выбора рисунка можно легко выбрать нужный рисунок. Доступ к стандартному окну выбора рисунка осуществляется при помощи класса Microsoft.WindowsMobile.Forms.SelectPictureDialog.

Перейти на страницу:

Похожие книги