VC++自定义分割窗口 查了好多vc++分割窗口的技术没有我想要的

VC++自定义分割窗口 查了好多vc++分割窗口的技术没有我想要的,第1张

点击右键,你d出个菜单,里面有你说的两个选项,这个你应该会。如果用户点击了分吵陵割的菜单项,你就在view区域画一条线作为分割线即可,这样不就分割了吗?线画在什么位置,这个由你具体决定。然后你需要在每次重绘的时候,如果用户选择了分割,你升镇戚需要把分割线给画出来。

如果你想灵活些,就把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时字节流被分割,如果放任这种现象的存在后果将是让散灾难性的,因此在逻辑层面区分消息边界显得尤拍悔为重要。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12356441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存