En la programación MFC, ¿por qué las dos variables CPen p1 y p1 que definí no pueden asignarse valores entre sí? Es decir, p1 = p2 genera un error.
CPen es una clase especial que sólo se puede crear y eliminar, no modificar.
Si deseas copiar el pincel, primero asegúrate de que p1 no haya sido creado (CreatePen), para poder copiarlo de la siguiente manera: LOGPEN?lp;
p2.GetLogPen (&lp);
p1.CreatePenIndirect(&lp);
Tenga en cuenta que CPen tiene un FromHandle que puede obtener el pincel a través del mango HPEN, pero esto no es una copia, sino una uso directo.