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

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
(Wiki がページ「コントロールの動的配置(MFC)」を「MFCコントロール - 動的配置」に、リダイレクトを残さずに移動しました)
(文字列「<source」を「<syntaxhighlight」に置換)
1行目: 1行目:
== CEditの動的配置 ==
== CEditの動的配置 ==
  <source lang="c++">
  <syntaxhighlight lang="c++">
  void CxxxxDlg::OnButton1Clicked()  
  void CxxxxDlg::OnButton1Clicked()  
  {
  {
25行目: 25行目:


== CStaticの動的配置 ==
== CStaticの動的配置 ==
  <source lang="c++">
  <syntaxhighlight lang="c++">
  void CxxxxDlg::OnButton3Clicked()  
  void CxxxxDlg::OnButton3Clicked()  
  {
  {
42行目: 42行目:


== CEditの派生クラスの作成と動的配置 ==
== CEditの派生クラスの作成と動的配置 ==
  <source lang="c++">
  <syntaxhighlight lang="c++">
  class CEditEx : public CEdit
  class CEditEx : public CEdit
  {
  {

2021年11月18日 (木) 09:19時点における版

CEditの動的配置

<syntaxhighlight lang="c++">
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(); // オブジェクトの破棄
}
</source>



CStaticの動的配置

<syntaxhighlight lang="c++">
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);
}
</source>



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

<syntaxhighlight lang="c++">
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(); // オブジェクトの破棄
}
</source>