MFC:使窗口控件可用/不可用

1. AfxGetMainWnd(): 获得主窗口的指针。可以在子dialog中终止整个程序。

方法一:AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0); 

注意用 this->SendMessage(WM_CLOSE); 只能终止当前dialog,不能终止整个程序。

2. EnableWindow(): 使某个控件或窗口可用

方法一:GetDlgItem(IDC_RECORD )->EnableWindow(TRUE );

方法二:

  1. HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();      
  2. if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )          
  3.         ::EnableWindow( hOK, TRUE );  

  1. HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();      
  2. if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )          
  3.         ::EnableWindow( hOK, TRUE );  
HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();    
if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )        
        ::EnableWindow( hOK, TRUE );

GetDlgItem(IDC_XX)->EnableWindow(false);//变灰,不可用,可见
GetDlgItem(IDC_XX)->EnableWindow(true);//还原正常,可用,可见

也可以使用显示隐藏控件的方法,但是与上面相比比较不形象

GetDlgItem(IDC_XX)->ShowWindow(SW_HIDE);//隐藏控件,不可见

 GetDlgItem(IDC_XX)->ShowWindow(SW_SHOW);//显示控件,可见



            </div>

1. AfxGetMainWnd(): 获得主窗口的指针。可以在子dialog中终止整个程序。

方法一:AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0); 

注意用 this->SendMessage(WM_CLOSE); 只能终止当前dialog,不能终止整个程序。

2. EnableWindow(): 使某个控件或窗口可用

方法一:GetDlgItem(IDC_RECORD )->EnableWindow(TRUE );

方法二:

  1. HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();      
  2. if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )          
  3.         ::EnableWindow( hOK, TRUE );  

  1. HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();      
  2. if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )          
  3.         ::EnableWindow( hOK, TRUE );  
HWND hOK         = GetDlgItem( IDOK )->GetSafeHwnd();    
if( ::SendMessage( hInputList,  LB_GETCURSEL, 0, 0 ) != -1 )        
        ::EnableWindow( hOK, TRUE );

GetDlgItem(IDC_XX)->EnableWindow(false);//变灰,不可用,可见
GetDlgItem(IDC_XX)->EnableWindow(true);//还原正常,可用,可见

也可以使用显示隐藏控件的方法,但是与上面相比比较不形象

GetDlgItem(IDC_XX)->ShowWindow(SW_HIDE);//隐藏控件,不可见

 GetDlgItem(IDC_XX)->ShowWindow(SW_SHOW);//显示控件,可见



            </div>

猜你喜欢

转载自blog.csdn.net/dashumak/article/details/80617997