Travis Hobrla в Windows CE Base Team Blog анонсировал видео-руководство по переносу драйверов с Windows CE 5 на Windows CE 6.
Посмотреть видео можно здесь.

Porting Drivers to Windows CE 6.0

Previous ArticleNext Article
Технический директор IT-Dimension, компании-разработчика кросс-платформенного программного обеспечения

Leave a Reply

Your email address will not be published. Required fields are marked *

К.

Как создать фигурное окошко в Windows Mobile

И вот еще один небольшой пример, демонстрирующий создание окна непрямоугольной формы в Windows Mobile с библиотекой wxWinCE.

Для реализации подобной штуки нам, прежде всего, необходима форма со стилем wxFRAME_SHAPED, без этого стиля ничего не получится.

Ну а затем нужно выполнить вот такой финт ушами:

  • Создать изображение (черно-белое)
  • Создать для него контекст устройства
  • Нарисовать что-либо (черные пикселы станут прозрачными, белые – видимыми)
  • Создать регион из изображения (wxRegion)
  • Указать форме регион для отображения
void wxMobileTransparencyMainFrame::ChangeShape()
{
	int width(0), height(0);
	// Получаем размер окна
	GetClientSize(&width, &height);
	// Создаем изображение
	wxBitmap bitmap(width, height);
	// Создаем Device Context для изображения
	wxMemoryDC mdc(bitmap);
	// Заполняем черным цветом
	mdc.SetBackground(*wxBLACK_BRUSH);
	mdc.Clear();
	// Устанавливаем кисть белого цвета
	mdc.SetPen(*wxWHITE_PEN);
	wxPoint center(width/2, height/2);
	int radius = wxMin(width, height)/2;
	// Рисуем круг в центре
	mdc.DrawCircle(center, radius);
	// Устанавливаем кисть черного цвета
	mdc.SetPen(*wxBLACK_PEN);
	mdc.SetBrush(*wxBLACK_BRUSH);
	// Рисуем
	mdc.DrawCircle(center.x - radius/3, center.y-radius/4, radius/6);
	mdc.DrawCircle(center.x + radius/3, center.y-radius/4, radius/6);
	mdc.DrawEllipticArc(center.x-radius/3, center.y+radius/4, 
		2 * radius / 3, radius/2, 
		180, 360);
	// Освобождаем Device Context
	mdc.SelectObject(wxNullBitmap);
	// Создаем новый регион
	m_Region = new wxRegion(bitmap, *wxBLACK);
#if defined(__WXWINCE__)
	// Для wxWinCE метод SetRegion() ничего не делает, просто возвращает false.
	// Поэтому приходится устанавливать регион вручную
	HRGN hRgn = (HRGN)m_Region->GetHRGN();
	::SetWindowRgn((HWND)GetHWND(), hRgn, FALSE);
#else
	int offset = GetSize().GetHeight()-GetClientSize().GetHeight();
	m_Region->Offset(0, offset);
	// Устанавливаем регион
	SetShape(*m_Region);
#endif
}

Создаем окно непрямоугольной формы в Windows Mobile
Скачать исходник: Создаем окно непрямоугольной формы в Windows Mobile

M.

Mobile Application Blocks. Наконец-то дождались!

На CodePlex наконец-то появился первый релиз Mobile Application Block.

Mobile Application Block – это набор готовых решений типовых задач, возникающих при разработке приложений для мобильных устройств на платформе .NET Compact Framework.

Как пишут сами авторы, это порт Mobile Client Software Factory для Visual Studio 2008 с более легковесным механизмом Dependency Injection.

В текущей версии доступны такие блоки как:

  • Configuration
  • ConnectionMonitor
  • ContainerModel
  • DataAccess
  • DisconnectedAgent
  • EndpointCatalog
  • PasswordAuthentication

Диаграммы классов нескольких блоков можно посмотреть ниже:

Mobile Application Block - Configuration - Class Diagram
Mobile Application Block - Configuration - Class Diagram
Mobile Application Block - ContainerModel - Class Diagram
Mobile Application Block - ContainerModel - Class Diagram

Mobile Application Block - Disconnected Agent - Class Diagram
Mobile Application Block - Disconnected Agent - Class Diagram

Все это добро весит совсем немного, после установки для каждого блока создается Visual Studio Solution с примером и юнит-тестами, так что процесс ознакомления с функционалом, предоставляемым MAB должен пройти быстро и безболезненно.

Скачать Mobile Application Block можно на странице проекта.