Операционная система Windows 95 для программиста



         

Рисование графического изображения в области Statusbar - часть 2


Ниже мы привели фрагмент исходного текста приложения Smart Application, который рисует в самой правой области Statusbar небольшое графическое изображение:

void WndProc_OnDrawItem(HWND hwnd, const DRAWITEMSTRUCT * lpDrawItem) { if(lpDrawItem->CtlID == IDS_STATUSBAR) { LPDRAWITEMSTRUCT lpDis; HDC hdcMem; HBITMAP hbmOld; BITMAP bm; lpDis = (LPDRAWITEMSTRUCT)lpDrawItem; hdcMem = CreateCompatibleDC(lpDis->hDC); hbmOld = SelectObject(hdcMem, hSbLogoBmp); GetObject(hSbLogoBmp, sizeof(bm), &bm); BitBlt(lpDis->hDC, lpDis->rcItem.left, lpDis->rcItem.top, bm.bmWidth, bm.bmHeight, hdcMem, 0, 0, SRCCOPY); SelectObject(hdcMem, hbmOld); DeleteDC(hdcMem); } return FORWARD_WM_DRAWITEM(hwnd, lpDrawItem, DefWindowProc); }

Если вы незнакомы с понятиями контекста отображения, не умеете работать с битовыми графическими изображениями или никогда не пользовались функцией BitBlt, мы рекомендуем вам обратиться к 14 тому "Библиотеки системного программиста", который называется "Графический интерфейс GDI в Microsoft Windows".

Если вам нужно нарисовать непрямоугольное или частично прозрачное изображение, недостаточно выбрать в качестве цвета фона цвет окна Statusbar, так как пользователь может легко изменить цветовую гамму оболочки Microsoft Windows95. В этом случае мы рекомендуем вам использовать более сложные процедуры рисования с использованием растровых операций ROP . Всю необходимую для этого информацию, а также пример приложения (которое называется BMPLOGO) вы найдете в 14 томе "Библиотеки системного программиста".




Содержание  Назад  Вперед