SwitchComboBox.cpp
上传用户:hbjdyb2005
上传日期:2021-01-26
资源大小:168k
文件大小:1k
源码类别:

组合框控件

开发平台:

Visual C++

  1. // SwitchComboBox.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SwitchCmbExample.h"
  5. #include "SwitchComboBox.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CSwitchComboBox
  13. CSwitchComboBox::CSwitchComboBox()
  14. {
  15. }
  16. CSwitchComboBox::~CSwitchComboBox()
  17. {
  18. }
  19. BEGIN_MESSAGE_MAP(CSwitchComboBox, CComboBox)
  20. //{{AFX_MSG_MAP(CSwitchComboBox)
  21. // NOTE - the ClassWizard will add and remove mapping macros here.
  22. //}}AFX_MSG_MAP
  23. END_MESSAGE_MAP()
  24. /////////////////////////////////////////////////////////////////////////////
  25. // CSwitchComboBox message handlers
  26. void CSwitchComboBox::SetReadOnly(BOOL bReadOnly)
  27. {
  28.    BOOL m_bEditable = !bReadOnly;
  29.    // 第一个子窗口为编辑窗口,取得该编辑窗口指针
  30.    CEdit* pComboEdit=(CEdit*)GetWindow(GW_CHILD);
  31.    pComboEdit->EnableWindow(TRUE);   //使能编辑窗口
  32.    pComboEdit->SetReadOnly(!(m_bEditable && IsWindowEnabled())); //设置编辑窗口的只读属性
  33.    Invalidate(); //重绘
  34. }