コントロールでよく使う命令

ボタンやエディタなどのコントロールでよく使用する命令を紹介します。

メンバ変数の追加

コントロールを使用する際は、メンバ変数を追加すると便利です。 例えば、ボタンの場合なら、リソース画面でボタンを右クリックします。 すると、「変数の追加」が表示されるので、選択します。 あとは変数名に「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の位置は現状を保持します。

著者:安井 真人(やすい まさと)