为什么加了OnCreateClient方法后不能触发事件?

yeyuanzhi2008 2009-04-20 08:35:56
响应事件代码如下
void CMainFrame::OnAddMember(WPARAM wParam, LPARAM lParam)
{
CString* pStr = (CString*)wParam;
this->dlgBar.m_olist.AddItem((short)lParam, pStr->GetBuffer(0), NULL);
pStr->ReleaseBuffer();

}
原来显示在线人数没问题,但是加了下面代码之后
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext)
{
m_wndSplitter1.CreateStatic(this,2,1);
m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CTextView),
CSize(0,200),pContext);
m_wndSplitter1.CreateView(1,0,RUNTIME_CLASS(CDemo1View),
CSize(0,400),pContext);
return TRUE;
}
就显示不了在线人数了.准确地说声明virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);后就不能显示了.
请高手出招.谢谢!!
...全文
99 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeyuanzhi2000 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ky310 的回复:]
遮盖掉了, BAR是显示在默认窗口内,ONCreateClient又把默认窗口给分割显示成别的了
[/Quote]
那怎么办?
ky310 2009-04-21
  • 打赏
  • 举报
回复
遮盖掉了, BAR是显示在默认窗口内,ONCreateClient又把默认窗口给分割显示成别的了
yeyuanzhi2000 2009-04-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ky310 的回复:]
你在OnCreateClinet中将原窗口划分为两个窗口了,上面的一个显示CTextView,下面的那个显示CDemoView,那么你把人数那个Bar显示在哪里了?
[/Quote]
显示在浮动对话框里我列表框里面,我想是不是没有网络连接上,连接对话框是CConferenceView视图里调用的,具体代码如下:
BOOL CConferenceView::PreCreateWindow(CREATESTRUCT& cs)
{
CLogin *log;
log = new CLogin;
if(log->DoModal() != IDOK)
{
delete m_pSocket;
m_pSocket = NULL;
return FALSE;
}
else
{
CWaiting cw;
cw.Create(IDD_WAITING);
cw.GetDlgItem(IDC_WAITT)->SetWindowText("正在连接服务器,请稍候……");
if(!ConnectSocket(log->Server_ip ,1023))//连接服务器
return FALSE;
GetIP();
cw.GetDlgItem(IDC_WAITT)->SetWindowText("正在验证您的身份,请稍候……");
if(m_pArchiveOut!=NULL)
{
CMsg msg;
msg.picture = -1;
msg.from = log->m_username;
msg.ip = ip;
user_name = log->m_username;
TRY
{
msg.Serialize (*m_pArchiveOut);//写入存档
m_pArchiveOut->Flush ();
}
CATCH(CFileException,e)
{
m_bAutoChat = FALSE;
m_pArchiveOut->Abort ();
delete m_pArchiveOut;
m_pArchiveOut = NULL;

CString strTemp;
if(strTemp.LoadString (IDS_SERVERRESET))
{}
}END_CATCH
}
cw.DestroyWindow();
}
return CView::PreCreateWindow(cs);
}

是不是这个问题?如果是的话,怎么解决?谢谢!!
ky310 2009-04-20
  • 打赏
  • 举报
回复
你在OnCreateClinet中将原窗口划分为两个窗口了,上面的一个显示CTextView,下面的那个显示CDemoView,那么你把人数那个Bar显示在哪里了?

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧