■ VisualC++(MFC限定)相談室 MFC7.dll■
■ このスレッドは過去ログ倉庫に格納されています
0403デフォルトの名無しさん
NGNGこの関数を使ってウインドウのリージョンを変更する場合は、
ダイアログベースで作成するのが基本と思っていいでしょうか。
ダイアログベースで作成したCTestDlg::OnInitDlg(){ ・・・に記述したら
正常にリージョンが変更反映されましたが、
SDIやMDIで作成したCTestView::OnInitialUpdate(){ ・・・ に記述したら
通常のウインドウ枠が表示され、その中にリージョンも作成されるというなんか
ヘンな動作となってしまったのです。SDIやMDIだとCMainFrameやCChildFrameクラスが
あるからムリなのでしょうか?それとも私のコードの記述の仕方がまずかったのでしょうか?
CRgn* m_windowRegion;
void CTestView::OnInitialUpdate()
{
CView::OnInitialUpdate();
// TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
m_windowRegion = new CRgn;
m_windowRegion->CreateEllipticRgn(0, 0, 200, 200);
SetWindowRgn(*m_windowRegion, TRUE);
SetWindowPos(&wndTop, 0, 0, 200, 200, SWP_NOMOVE);
}
■ このスレッドは過去ログ倉庫に格納されています