「MFCコントロール - 動的配置」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(文字列「<source」を「<syntaxhighlight」に置換)
(文字列「</source>」を「</syntaxhighlight>」に置換)
 
21行目: 21行目:
   // GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄
   // GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


38行目: 38行目:
     pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2);
     pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2);
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


72行目: 72行目:
     // pEditEx->DestroyWindow(); // オブジェクトの破棄
     // pEditEx->DestroyWindow(); // オブジェクトの破棄
  }
  }
  </source>
  </syntaxhighlight>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:MFC]]
[[カテゴリ:MFC]]

2021年11月24日 (水) 18:06時点における最新版

CEditの動的配置

 void CxxxxDlg::OnButton1Clicked() 
 {
    RECT r;
    r.top    = 10;  // 上の座標
    r.bottom = 30;  // 下の座標
    r.left   = 10;  // 左の座標
    r.right  = 100; // 右の座標
    // RECT r = {10, 30, 10, 100};
 
    CEdit* pEdit = new CEdit();
    pEdit->Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP, r, this, WM_APP + 1);
    pEdit->ModifyStyleEx(0, WS_EX_CLIENTEDGE, SWP_DRAWFRAME);
    // pEdit->DestroyWindow(); // オブジェクトの破棄
 }
 
 void CxxxxDlg::OnButton2Clicked() 
 {
    GetDlgItem(WM_APP + 1)->SetWindowText(_T("hoge"));
   // GetDlgItem(WM_APP + 1)->DestroyWindow(); // オブジェクトの破棄
 }



CStaticの動的配置

 void CxxxxDlg::OnButton3Clicked() 
 {
    RECT r;
    r.top    = 10;  // 上の座標
    r.bottom = 30;  // 下の座標
    r.left   = 10;  // 左の座標
    r.right  = 100; // 右の座標
    // RECT r = {10, 30, 10, 100};
 
    CStatic* pStatic = new CStatic();
    pStatic->Create(_T("テキスト名を入力"), WS_VISIBLE | WS_CHILD, r, this, WM_APP + 2);
 }



CEditの派生クラスの作成と動的配置

 class CEditEx : public CEdit
 {
    public:
       void TestFunc()
       {
          SetWindowText(_T("hoge"));
       }
    
    // (以下略)
    
 };
 
 void CxxxxDlg::OnButton4Clicked() 
 {
    RECT r;
    r.top    = 10;  // 上の座標
    r.bottom = 30;  // 下の座標
    r.left   = 10;  // 左の座標
    r.right  = 100; // 右の座標
    // RECT r = {10, 30, 10, 100};
 
    CEditEx *pEditEx = new CEditEx();
    pEdit->Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP, r, this, WM_APP + 1);
    pEdit->ModifyStyleEx(0, WS_EX_CLIENTEDGE, SWP_DRAWFRAME);
 
    pEditEx->TestFunc();
 
    // pEditEx->DestroyWindow(); // オブジェクトの破棄
 }