今天做的一个复合控件中用到了CSpinButtonCtrl。直接就写了下面的代码:
CEdit *pEdit=new
CEdit;
CRect rc;
pEdit->CreateEx(WS_EX_STATICEDGE,"EDIT",NULL,|WS_CHILD|WS_TABSTOP,rc,this,ID_EDIT)
pEdit->ShowWindow(SW_SHOW);
CSpinButtonCtrl m_CornerSpin;
m_CornerSpin.Create(UDS_ALIGNRIGHT|WS_CHILD|UDS_SETBUDDYINT,rc,this,ID_SPIN_BUTTON)
m_CornerSpin.ShowWindow(SW_SHOW);
m_CornerSpin.SetBuddy(pEdit);
问题出来了,微调的SpinCtrl没有显示。后来多次调试发现,如果注释了最后一个SetBuddy函数的调用,又可以显示了。晕倒........
最后无意识的把SetBuddy和ShowWindow对换一下调用的顺序,嘿嘿,It
is Working.
现在还不知道什么原因...........