我的目的是当用户改变窗体大小时,工具条自适应窗口的大小,我在OnSizing事件里加了:
CRect rect;
GetWindowRect(rect);
m_wndToolBar.MoveWindow(0,0,rect.Width(),23,0);
只有在我们拉窗体边缘时候才有效,单击最大、最小化按钮时没有作用,请问怎么解决啊?
CRect rect;
GetWindowRect(rect);
m_wndToolBar.MoveWindow(0,0,rect.Width(),23,0);
只有在我们拉窗体边缘时候才有效,单击最大、最小化按钮时没有作用,请问怎么解决啊?
{
CDialog::OnSize(nType, cx, cy);
// set window size
if(m_bOnSize)
{
GetDlgItem(IDC_FRAME_TOOLBAR)->MoveWindow(12, 0, cx - 30, 48, TRUE);
nID = SC_MAXIMIZE 是最大化
nID = SC_MINIMIZE 是最小化
nID = SC_MAXIMIZE 是最大化
nID = SC_MINIMIZE 是最小化
{
//your action
}
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_SYSCOMMAND, TMessage, RestrictMinimizeMaximize)
END_MESSAGE_MAP(TForm)
2、在Form的单元文件中添加:
void __fastcall TForm1::RestrictMinimizeMaximize(TMessage& Msg)
{
if (Msg.WParam == SC_MINIMIZE)
{
//catches minimize...
}
else if (Msg.WParam == SC_MAXIMIZE)
{
//catches maximize...
}
TForm::Dispatch(&Msg);
// or "else TForm::Dispatch(&Msg)" to trap
}
上面的程序是C++BUILDER的,我现在机器上没有VC,没办法调试,你自己简单改一下就可以了