コントロールでよく使う命令
2013年5月23日:MFC
ボタンやエディタなどのコントロールでよく使用する命令を紹介します。
メンバ変数の追加
コントロールを使用する際は、メンバ変数を追加すると便利です。 例えば、ボタンの場合なら、リソース画面でボタンを右クリックします。 すると、「変数の追加」が表示されるので、選択します。 あとは変数名に「m_btn」のように名前をつけて完了をおします。
有効化と無効化
ボタンを有効にしたり無効にしたりしたい場合は
m_btn.EnableWindow(FALSE);
を使用します。この命令よりm_btnが無効化されます。 有効化の場合は
m_btn.EnableWindow(TRUE);
とします。
見えなくする
コントロールを見えなくするには
m_btn.ShowWindow(SW_HIDE);
を使用します。見えるようにするには
m_btn.ShowWindow(SW_SHOW);
とします。
大きさや幅を変える
コントロールの大きさや幅を変えるにはSetWindowPosを使用します。 書式は以下のようになります。
BOOL SetWindowPos(const CWnd* pWnd, int x, int y, int width, int height, UINT flag);
戻り値は異常終了の場合は0を返します。 pWndでは、他のコントロールとの重なりを設定します。CWndへのポイントにするか以下のポインタを選択します。
- &wndBottom:一番下に置く
- &wndTop:一番上に置く
x,yで位置を設定して、widthとheightで幅と高さを設定できます。 flagで細かい設定ができます。
- SWP_DRAWFRAME:ウインドウの周りにフレームを描写します。
- SWP_HIDEWINDOW:ウインドウを非表示にします。
- SWP_NOACTIVATE:ウインドウをアクティブにしません。
- SWP_NOMOVE:現在の位置を保持します。x,yは無視します。
- SWP_NOREDRAW:再描写しません。
- SWP_NOSIZE:現在のサイズを維持します。widthとheightは無視します。
- SWP_NOZORDER:現在のZ順位を保持します。pWndを無視します。
- SWP_SHOWWINDOW:ウインドウを表示します。
使用例を以下に記述します。
m_btn.SetWindowPos(NULL,0,0,100,100,SWP_NOZORDER|SWP_SHOWWINDOW);
位置(0,0)に幅と高さ100でボタンをセットします。ただし、Zの位置は現状を保持します。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー