CSpinButtonCtrl:如何删除Autobuddy样式?

时间:2017-10-03 19:47:47

标签: windows mfc

我使用CSpinButtonCtrl,Autooguddy Style在DialogResssource中设置为TRUE。 我现在必须删除/隐藏KioskMode(FullScreen)中的CSliderButtonCtrl。

我试过这个,这还不够,关联的CEditCtrl不会重绘,这是SpinCtrl所在的地方。

HorizontalAlignment.Left

也试过了:

CMyFormView::OnInitialUpdate()
{
   if (g_bKiosMode)
   {
     m_ctlSpin1.ShowWindow(SW_HIDE);
     m_ctlSpin1.ShowWindow(SW_ENABLE);

     LONG style = GetWindowLong(m_ctlSpinSollwert1.GetSafeHwnd(), GWL_STYLE);
     style &= ~UDS_AUTOBUDDY;
     SetWindowLong(m_ctlSpinSollwert2.GetSafeHwnd(), GWL_STYLE, style);
  }
}

  }

也尝试过:对CSpinCtrl进行子类化,但不调用PreCreateWindow(..)

if (!g_bKioskMode)
{
  DDX_Control(pDX, IDC_SPIN1, m_ctlSpin1);
}

进一步的想法?

1 个答案:

答案 0 :(得分:1)

您可以通过发送带有NULL HWND的UDM_SETBUDDY消息然后隐藏窗口来分离Up-Down控件。

Up-Down控件实际上会调整其伙伴的大小,因此您需要在分离后调整编辑控件的大小。