нашел на rsdn такой пример, но как по мне он не очень удачен, во-первых ddraw.lib устарела и не входит в состав последнего SDK, а во-вторых: 
 не запускайте при глубине цвета != 32 bpp!!!  Тут нет никаких проверок, по хорошему, нужно смотреть поле ddpfPixelFormat в DDSURFACEDESC2
  - цитата с форума.
#define INITGUID
#include <ddraw.h>
#include <windows.h>
#pragma comment(lib, "ddraw.lib") 
void shade()
{
    IDirectDraw7          * direct_draw;
    IDirectDrawSurface7   * primary_surface;
    DDSURFACEDESC2          surface_descriptor = { sizeof(surface_descriptor) };
    DirectDrawCreateEx(0, (void**)&direct_draw, IID_IDirectDraw7, 0);
    direct_draw->SetCooperativeLevel(0, DDSCL_NORMAL);
    surface_descriptor.dwFlags = DDSD_CAPS;
    surface_descriptor.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
    direct_draw->CreateSurface(&surface_descriptor, &primary_surface, NULL);
    primary_surface->Lock(0, &surface_descriptor, 0, 0);
    void * memory = surface_descriptor.lpSurface;
    for( int dy = surface_descriptor.dwHeight;
         dy; 
         dy--, memory = (char *)memory + surface_descriptor.lPitch )
    {
        for( int dx = surface_descriptor.dwWidth; dx; --dx )
            if ( (dx ^ dy) & 1 ) 
                *((int *)memory + dx) = -1;  
    }
    primary_surface->Unlock(0);
}
P.S. Не копипастер, не плагиатчик, поэтому приведу ссылку на источник: 
http://www.rsdn.ru/forum/winapi/1389656.flat.aspx, если администрацией запрещено, удалите.