Из моих демонстрационных образцов,
// cairo_surface_t *surface;
// cairo_t *cr;
// surface = call_win32_surface_create_with_dib_T(CAIRO_FORMAT_ARGB32, 240, 80);
// cr = call_create_T (surface);
// call_surface_write_to_png_T (surface, "hello.png");
HDC src = call_win32_surface_get_dc_T(surface); // <--------
BitBlt(dest, 0, 0, 240, 80, src, 0,0, SRCCOPY); // <--------
Предполагая, что у вас уже есть поверхность, вы можете использовать что-то похожее на приведенный выше пример.
dest
- это дескриптор HDC
окна, которое вы хотите отобразить на поверхности Каира.
Обновление: CView :: OnDraw ()
Вам следует реализовать метод OnDraw () для вашего класса CView (унаследованного?).
Вы можете использовать указатель pDC для рисования поверхности Каира, то есть:
pDC->BitBlt(0, 0, 240, 80, src, 0,0, SRCCOPY); // "HDC src" is mentioned above