如果你想灵活些,就把mfc扔了旅族,窗口自己建,想怎么处理就怎么处理,不用为了添加个功能都要费好大劲儿。
xxxx::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){
/基配/---------------------------------------------------------
//m_wndSpliter,m_wndSpliter2均为成员变量,CSplitterWnd类别
//CTest1,CTest2,CTest3均继承于CView
//---------------------------------------------------------
//第一次分割左右两个窗口
m_wndSpliter.CreateStatic( this, 1, 2 )
m_wndSpliter.CreateView( 0,1, RUNTIME_CLASS(CTest2), CSize(0,0), pContext )
m_wndSpliter.SetColumnInfo( 0, 700, 50 )
//第二次分割上下搏中指两个窗口
m_wndSpliter2.CreateStatic( &m_wndSpliter, 2, 1, WS_CHILD|WS_VISIBLE, m_wndSpliter.IdFromRowCol(0,0) )
m_wndSpliter2.CreateView( 0, 0, RUNTIME_CLASS(CTest1), CSize(0,0), pContext )
m_wndSpliter2.CreateView( 1, 0, RUNTIME_CLASS(CTest3), CSize(0,0), pContext )
m_wndSpliter2.SetRowInfo( 0, 300, 50 )
return TRUE/培大/重要
}
vcsocket开始收不到数据后来走收到了的原因可能就是数据先被分割了后开又粘连在了一起。由于不同于udp协议面向消息的通信方式,tcp传输信息的方式采用的是字节流的形式,传输过程中的数据需要坦贺氏用户指定消息边界。在tcp中多次调用socket的send方法发送小于sendbuffersize的数据量的时候,socket会将多次send中的字节流汇集成一次发送 *** 作。存在于缓冲中的字节流首尾粘连,另一个极端是发送数据大于sendbuffersize时字节流被分割,如果放任这种现象的存在后果将是让散灾难性的,因此在逻辑层面区分消息边界显得尤拍悔为重要。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)