ОК, поэтому у меня есть пользовательская функция прямоугольника. Обычай прямоугольник выглядит следующим образом:RECT, передавая настраиваемую прямоугольную структуру в функцию, требующую RECT
typedef struct tagRECTEx{
// long left;
// long top;
// long right;
// long bottom;
RECT dimensions;
int width()) {
return dimensions.right-dimensions.left;
}
int height(){
return dimensions.bottom - dimensions.top;
}
} RectEx;
Теперь вместо использования позволяет сказать:
RECT windowrect;
windowrect = GetWindowRect(hWnd,&windowrect);
Я хотел бы, чтобы это было вместо этого:
RectEx windowrectex;
windowrect = GetWindowRect(hWnd,&windowrectex);
....
Теперь, когда не будет компилировать потому что он не может преобразовать rectex в tagRECT, нормально, я понимаю, это понимаю.
Так что в течение последних нескольких дней я искал пользовательские литые и переопределяющие операторы.
Я даже пытался реализовать что-то вроде:
GetWindowRect(hWnd, (RectEx)&windowrectex);
но не имеет значения, что я делаю, я просто не могу понять, как заставить это работать.
Я хочу использовать свой собственный прямоугольника-структуру, как это будет autoamticly получить ширину и высоту прямоугольника для меня вместо того, чтобы делать rect.right-rect.left и т.д.
Если вам нужно больше информации об этом или что-нибудь, пожалуйста, дайте мне знать.
спасибо
Почему бы не просто написать некоторые функции, не являющиеся членами, принимающими аргумент RECT и возвращающие ширину/высоту? Не все должно быть функцией-членом. –