从工具栏中拖动控件在对话框内生成一个按钮、一个图像控件,然后我想在运行时改变它们的尺寸和位置,我用MoveWindow()时总是编译时报错:error C2228: left of '.m_hWnd' must have class/struct/union type。
   必须有一个类?那么按钮和图像控件是什么类呢?具体该如何实现所要的功能?

解决方案 »

  1.   

    使用ClassWizzard给你放在对话框上的控件添加control类型的变量,然后在调用MoveWindow或SetWindowPos改变位置和大小
      

  2.   

    CWnd * pCBtn= GetDlgItem(IDC_BUTTON_XXX);
    if( pCBtn != NULL)
    {
    pCBtn ->MoveWindow(...);
    }
      

  3.   

    1、使用ClassWizzard给你放在对话框上的控件添加control类型的变量,然后调用MoveWindow或SetWindowPos改变位置和大小
    2、使用GetDlgItem得到控件指针,然后用指针调用MoveWindow或SetWindowPos改变位置和大小
      

  4.   

    昨晚没睡好,刚睡了午觉,现在回来了。
    检查了下代码,发现原来把“->”写成“.”,所以出错了,改过来就可以了。非常感谢大家的关注。代码如下:
    void CYiDongKongJianDlg::OnButton2() 
    {
    // TODO: Add your control notification handler code here ::MoveWindow( 
      this->GetDlgItem(IDC_BUTTON1)->m_hWnd, //移动按钮
      0, 
      0, 
      20, 
      20, 
      1 
    ); 
    ::MoveWindow( 
      this->GetDlgItem(IDC_PIC)->m_hWnd, //移动图像控件
      100, 
      100, 
      50, 
      50, 
      1 
    );