Travis Hobrla в Windows CE Base Team Blog анонсировал видео-руководство по переносу драйверов с Windows CE 5 на Windows CE 6.
Посмотреть видео можно здесь.
Porting Drivers to Windows CE 6.0
Как создать фигурное окошко в 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
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
Диаграммы классов нескольких блоков можно посмотреть ниже:



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