Ehi, ti sei buttato molto avanti!
Ci sono diversi metodi, ti mostro il più immediato.
Prima di tutto dovrai caricare una immagine da poter utilizzare:
HBITMAP hBmp = LoadBitmap( hInstance, MAKEINTRESOURCE( IDB_BITMAP );
IDB_BITMAP è il riferimento ID del file caricato nel file delle risorse, suppongo tu lo sappia già.
Poi, avrai una classe (che è solo una struttura) della tua finestra:
WNDCLASSEX wcx;
Nel campo dello sfondo ci metti l'immagine:
wcx.hbrBackground = ...;
Siccome il campo .hbrBackground prende solo l'handler di un "brush", dovrai generarlo in qualche modo. Ad esempio:
HBRUSH Hbrush = CreatePatternBrush(hBmp);
In sintesi:
wcx.hbrBackground = (HBRUSH)LoadBitmap( hInstance, MAKEINTRESOURCE(IDB_BITMAP) );
La funzione LoadBitmap è deprecata, e fornita solo per retrocompatibilità. Sostituiscila con LoadImage, anche se richiede qualche parametro in più.
Consiglio sempre di consultare la documentazione su docs.microsoft, in particolare la documentazione relativa alle GDI (wingdi.h) perché altri metodi e altre possibilità richiedono di padroneggiare i Device Context.