いつもお世話になっております。
SetWindowRgnの動作が不明なので、質問させていただきます。
ウインドウのリージョンを更新して
ウインドウの形状をアニメーションをさせたいと思いました。
HRGN hRgn[16];
for (int i=0;i<16;i++)
hRgn[i] = CreateRgn();//リージョンの作成
/*メッセージループ*/
while(TRUE){
:
:
i = (i+1)&15;
SetWindowRgn(hWnd,hRgn[i],TRUE);
InvalidateRect(hWnd,&rect,TRUE);
}
最初の一周(i=0~15)までは問題無く更新されるのですが、
次に同じリージョンを設定しようとした場合更新されません。
SetWindowRgnは2度と同じリージョンを設定できないのでしょうか。
また他に異なるアプローチはあるでしょうか。
SetWindowRgnの動作が不明なので、質問させていただきます。
ウインドウのリージョンを更新して
ウインドウの形状をアニメーションをさせたいと思いました。
HRGN hRgn[16];
for (int i=0;i<16;i++)
hRgn[i] = CreateRgn();//リージョンの作成
/*メッセージループ*/
while(TRUE){
:
:
i = (i+1)&15;
SetWindowRgn(hWnd,hRgn[i],TRUE);
InvalidateRect(hWnd,&rect,TRUE);
}
最初の一周(i=0~15)までは問題無く更新されるのですが、
次に同じリージョンを設定しようとした場合更新されません。
SetWindowRgnは2度と同じリージョンを設定できないのでしょうか。
また他に異なるアプローチはあるでしょうか。