CWnd::ModifyStyle
ウィンドウ スタイルを変更するには、このメンバー関数を呼び出します。
BOOL ModifyStyle(
DWORD dwRemove,
DWORD dwAdd,
UINT nFlags = 0
);
パラメーター
dwRemove
スタイルのリビジョン中に削除するウィンドウ スタイルを指定します。dwAdd
スタイルのリビジョン中に追加するウィンドウ スタイルを指定します。nFlags
SetWindowPos を呼び出すと SetWindowPosに渡すフラグ場合はゼロ。既定値は 0 です。事前定義のフラグの一覧については、"解説"を参照してください。
戻り値
スタイルが正常に変更された場合は、; それ以外の場合は 0。
解説
追加または削除されたスタイルを使用してビットごとにまとめることができます (または|演算子)。使用できるウィンドウ スタイルについては、Windows SDK のトピック [ウィンドウ スタイル] と CreateWindow を参照してください。
nFlags がゼロ以外の場合は、ModifyStyle は、Windows API の関数 SetWindowPos を呼び出し、次の 4 種類の事前に設定されているフラグによって nFlags を組み合わせることによってウィンドウを再描画します:
SWP_NOSIZE は現在のサイズを保持します。
SWP_NOMOVE は現在位置を保持します。
SWP_NOZORDER は、現在の z 軸順番を保持します。
SWP_NOACTIVATE は、ウィンドウをアクティブにしません。
ウィンドウの拡張スタイルを変更するには、ModifyStyleExを参照してください。
[!メモ]
特定のコントロール (エディット コントロールの ES_READONLY のスタイル、コントロールが特定の内部処理を実行する必要があるため、たとえば) のあるスタイルについては、ModifyStyle が正しくスタイルが変更されない場合があります。この場合、スタイルを変更するには、対応するメッセージは使用できます (説明した例のEM_SETREADONLY )。
使用例
// This example adds the WS_CLIPCHILDREN style to the window.
// No Styles are removed from the window.
void CMyView::OnInitialUpdate()
{
CView::OnInitialUpdate();
ModifyStyle(0, WS_CLIPCHILDREN);
}
必要条件
ヘッダー: afxwin.h