private static extern OBJ GetObjectType(HGDIOBJ hObject);
private static extern HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj);
public HGDIOBJ SelectObject(HGDIOBJ obj) { HGDIOBJ oldObject = SelectObject(this, obj); switch (oldObject.ObjectType) { case OBJ.BRUSH: return new HBRUSH(oldObject.DangerousGetHandle()); default: throw new NotImplementedException(); } }