请问:如何通过OnSize调整Dialog的大小?void CCellColor::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
}
窗口本身是一个Dialog,我将它嵌入到了一个Bar里面,现在我想让该Dialog的大小,主要是它的高度随Bar的变化而变化,Bar的变化自动随窗口大小变化!请搞人赐教!
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
}
窗口本身是一个Dialog,我将它嵌入到了一个Bar里面,现在我想让该Dialog的大小,主要是它的高度随Bar的变化而变化,Bar的变化自动随窗口大小变化!请搞人赐教!
解决方案 »
- WSAAsyncSelect的超时问题
- CreateEvent和WaitForSingleObject
- 请问变换对话框Picture控件中的位图,应该用那条语句?谢谢
- MDI中在一个View中画图刷新的问题
- 高分求产生随机数的方法
- CEdit为什么收不到Enter键的WM_KEYDOWN消息
- NetMessageBufferSend() API 发送信息会乱码吗?
- 在vc++中这个宏定义是什么意思:CString str=_T("mystring");
- VC中ListBox控件的问题
- 请问判断系统是不是无盘系统
- ON_WM_MEASUREITEM_REFLECT到底是怎么用的?
- 关于CTime::GetCurrentTime得到的时间——为什么我得到的是错误的,随机的时间?
可以代用CWnd的成员函数:movewindow() or SetWindowPos()函数改变对话框的大小,任何时候都可以。
请高手赐教!
{
CDialog::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
如果你的对话框是模式对话框:
MoveWindow()
如果你的对话框是无模对话框:
SetWindowPos();
}
自己从对话框派生个类、调用SetWindowPos()是可以的。
SetWindowPos(wndBottom,0,0,210,300,SWP_NOMOVE|SWP_NOZORDER);
这样试试。
我以前做过,都成功了。
把Styles页面下的Border选择为Resizing就可以了
cCell->Create(IDD_DIALOG_CELLCOLOR,&m_clrbar);
cCell->ShowWindow(SW_SHOW);
这样应该怎么写?
{
CDialog::OnSize(nType, cx, cy);
if(m_ShowRs.m_hWnd!=NULL)
{
CRect rect;
m_ShowRs.GetWindowRect(rect);
ScreenToClient(&rect);
if(cy>rect.top)
{
rect.right=cx;
rect.bottom=cy-2;
m_ShowRs.MoveWindow(rect);
}
}
}
搞定!谢谢大家!
一会儿给大家加分!