***すれ立てるまでもない質問はここで 第39刷***

このエントリーをはてなブックマークに追加
質問です。
WinAPIでWindowを希望のクライアントサイズに基づいてリサイズする関数を作ったんですが、
MoveWindowにWM_SIZEをよばせない方法または、それに変わる別のAPIって存在するのでしょうか?
下の関数をWM_SIZEで呼んでいるので再起的になってすごく気持ち悪いです。(フラグ変数で回避していますが、それもなんだか気分がよくないです。
以下がソースです。
void setClientRect(HWND hwnd,int setX,int setY){
RECT crt,wrt;
int w,h;
GetWindowRect(hwnd,&wrt);
GetClientRect(hwnd,&crt);
w=((wrt.right-wrt.left)-crt.right);////横方向のキャップ
h=((wrt.bottom-wrt.top)-crt.bottom);//縦方向のキャップ
MoveWindow(hwnd,wrt.left,wrt.top,(setX+w),(setY+h),TRUE);
return;
}