社区
界面
帖子详情
一个人界面编程问题,急,急,急
wgc
2007-04-24 03:25:04
我的程序框架是分割视图,两边都是formview类型,我在右边的视图里边添加了静态控件,利用静态控件建立了无模式对话框。但是我在左边视图对右边的视图做了一个onsize消息响应,右边视图的静态控件可以变化,但是无模式对话框显示不出来,必须拖动一下子窗口才会出来,不知道什么原因,大家帮分析一下!
...全文
443
14
打赏
收藏
一个人界面编程问题,急,急,急
我的程序框架是分割视图,两边都是formview类型,我在右边的视图里边添加了静态控件,利用静态控件建立了无模式对话框。但是我在左边视图对右边的视图做了一个onsize消息响应,右边视图的静态控件可以变化,但是无模式对话框显示不出来,必须拖动一下子窗口才会出来,不知道什么原因,大家帮分析一下!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
greenabc
2007-04-27
打赏
举报
回复
ding
systemthink
2007-04-27
打赏
举报
回复
设断点调试
cnnwm
2007-04-27
打赏
举报
回复
应该是被挡住了
b2b160
2007-04-26
打赏
举报
回复
用BringWindowToTop函数(好像是,我记不起来了)反正是把那个对话框带到最前面,不要被挡住就可以了.
jinjinandpp
2007-04-26
打赏
举报
回复
//////////////////////////
if(pVibranalysiView->view_num==0)
pVibranalysiView->view_num=1;
else
pVibranalysiView->view_num=0;
left_view_num=1;
pCurrentDoc->doc_view_num=1;
///////////////////
pVibranalysiView->OnSize(SIZE_RESTORED,0,0);
在执行pVibranalysiView->OnSize(SIZE_RESTORED,0,0);前的对于pVibranalysiView->view_num的操作是无效的
coldplay968
2007-04-26
打赏
举报
回复
是不是被挡住了
wgc
2007-04-25
打赏
举报
回复
初始化的时候就创建,在onsize函数中进行movewindow
systemthink
2007-04-25
打赏
举报
回复
设断点调试一下
syy64
2007-04-25
打赏
举报
回复
设断点调试一下,看看右边的对话框什么时候创建。
xujianlane
2007-04-24
打赏
举报
回复
不会,帮顶
长尾巴的悟空
2007-04-24
打赏
举报
回复
是吗?不是吧,只是我看不懂
wgc
2007-04-24
打赏
举报
回复
这么核心的问题,竟然没人理睬!
wgc
2007-04-24
打赏
举报
回复
这是左边视图调用右边视图的onsize函数
void CLeftDlgView::OnAddView()
{
// TODO: Add your command handler code here
CMainFrame *pMainFrame = (CMainFrame *)AfxGetApp()->m_pMainWnd;
CChildFrame *pChildFrame= (CChildFrame *)pMainFrame->GetActiveFrame();
CVibranalysiView* pVibranalysiView=(CVibranalysiView*)pChildFrame->m_wndSplitter.GetPane(0,1);
CVibranalysiDoc * pCurrentDoc =(CVibranalysiDoc *)pChildFrame->GetActiveDocument();
if(pVibranalysiView->view_num==0)
pVibranalysiView->view_num=1;
else
pVibranalysiView->view_num=0;
left_view_num=1;
pCurrentDoc->doc_view_num=1;
pVibranalysiView->OnSize(SIZE_RESTORED,0,0);
}
wgc
2007-04-24
打赏
举报
回复
这是右边onsize函数的代码
void CVibranalysiView::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
CRect rect,rectformview,rectdlg;
GetClientRect(&rectformview);
CStatic * pstatic=(CStatic *) GetDlgItem(IDC_STATIC_DLG1);
if(pstatic!=NULL)
{
pstatic->GetClientRect(&rect);
//pstatic->MoveWindow(0,0,cx,cy);
pstatic->MoveWindow(0,0,rect.Width()+cx,rect.Height()+cy);
//pstatic->ShowWindow(SW_HIDE);
if(m_dlg1draw.GetSafeHwnd()!=NULL)
{
m_dlg1draw.GetClientRect(&rectdlg);
CString str ;
str.Format("cx=%d,cy=%d,view_num=%d",cx,cy,view_num);
AfxMessageBox(str);
m_dlg1draw.MoveWindow(rect.TopLeft().x,rect.TopLeft().y,cx,cy);
//m_dlg1draw.MoveWindow(0,0,rectdlg.Width()+cx,rectdlg.Height()+cy);
if(view_num==0)
m_dlg1draw.ShowWindow(SW_SHOW);
else
m_dlg1draw.ShowWindow(SW_HIDE);
}
if(view_num==0)
pstatic->ShowWindow(SW_SHOW);
//pstatic->ShowWindow(SW_HIDE);
else
pstatic->ShowWindow(SW_HIDE);
}
pstatic=(CStatic *) GetDlgItem(IDC_STATIC_DLG2);
if(pstatic!=NULL)
{
pstatic->GetClientRect(&rect);
//pstatic->MoveWindow(0,0,cx,cy/2);
pstatic->MoveWindow(0,0,rect.Width()+cx,rect.Height()+cy/2);
pstatic->ShowWindow(SW_HIDE);
if(m_dlg2draw.GetSafeHwnd()!=NULL)
{
m_dlg2draw.GetClientRect(&rectdlg);
m_dlg2draw.MoveWindow(0,0,cx,cy/2);
//m_dlg2draw.MoveWindow(rectformview.TopLeft().x,rectformview.TopLeft().y,rect.Width()+cx,rect.Height()+cy);
if(view_num==0)
m_dlg2draw.ShowWindow(SW_HIDE);
else
m_dlg2draw.ShowWindow(SW_SHOW);
}
if(view_num==0)
pstatic->ShowWindow(SW_HIDE);
else
pstatic->ShowWindow(SW_SHOW);
}
pstatic=(CStatic *) GetDlgItem(IDC_STATIC_DLG3);
if(pstatic!=NULL)
{
pstatic->GetClientRect(&rect);
//pstatic->MoveWindow(0,0,cx/2,cy/2);
pstatic->MoveWindow(0,rectformview.CenterPoint().y,rect.Width()+cx,rect.Height()+cy);
//pstatic->MoveWindow(0,0,rect.Width()+cx,rect.Height()+cy);
pstatic->ShowWindow(SW_HIDE);
if(m_dlg3draw.GetSafeHwnd()!=NULL)
{
m_dlg3draw.GetClientRect(&rectdlg);
m_dlg3draw.MoveWindow(0,0,cx/2,cy/2);
//m_dlg3draw.MoveWindow(rectformview.TopLeft().x,rectformview.TopLeft().y,rect.Width()+cx,rect.Height()+cy);
if(view_num==0)
m_dlg3draw.ShowWindow(SW_HIDE);
else
m_dlg3draw.ShowWindow(SW_SHOW);
}
if(view_num==0)
pstatic->ShowWindow(SW_HIDE);
else
pstatic->ShowWindow(SW_SHOW);
}
pstatic=(CStatic *) GetDlgItem(IDC_STATIC_DLG4);
if(pstatic!=NULL)
{
pstatic->GetClientRect(&rect);
pstatic->MoveWindow(rectformview.CenterPoint().x,rectformview.CenterPoint().y,rect.Width()+cx,rect.Height()+cy);
//pstatic->MoveWindow(0,0,rect.Width()+cx,rect.Height()+cy);
pstatic->ShowWindow(SW_HIDE);
if(m_dlg4draw.GetSafeHwnd()!=NULL)
{
m_dlg4draw.GetClientRect(&rectdlg);
m_dlg4draw.MoveWindow(0,0,cx/2,cy/2);
//m_dlg4draw.MoveWindow(rectformview.CenterPoint().x,rectformview.CenterPoint().y,cx/2,cy/2);
//m_dlg4draw.MoveWindow(rectformview.TopLeft().x,rectformview.TopLeft().y,rect.Width()+cx,rect.Height()+cy);
if(view_num==0)
m_dlg4draw.ShowWindow(SW_HIDE);
else
m_dlg4draw.ShowWindow(SW_SHOW);
}
if(view_num==0)
pstatic->ShowWindow(SW_HIDE);
else
pstatic->ShowWindow(SW_SHOW);
}
move_cx=cx;
move_cx=cy;
}
c/c++
界面
编程
本帖计划从四个大的方面来讲 这四个方面是 窗口类、文件操作类、网络类、数据库类。...因为现在程序没有
界面
就像人没有脸面一样 而且好的
界面
更能吸引人。从基本的
界面
开始 相信能给大家指明出一条路的...
WIN32 SDK
界面
编程
WIN32 SDK
界面
编程
在介绍win32 sdk
界面
编程
,先需要了解win32
编程
。熟悉win32
编程
之后,就可以轻松进行win32
界面
编程
。 一、什么是win32
编程
Win32
编程
,指的是用Window提供的API(Application ...
界面
编程
总结(2)
WIN32 SDK
界面
编程
在介绍win32 sdk
界面
编程
,先需要了解win32
编程
。熟悉win32
编程
之后,就可以轻松进行win32
界面
编程
。一、什么是win32
编程
Win32
编程
,指的是用Window提供的API(Application Programming ...
VISUAL C++
界面
编程
界面
由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到
一个
美丽的
界面
。 让控件更醒目 在ComboBox中改变列表框的宽度 我们经常会使用到组合框,而组合框是是有2种功能的--下拉和列表。一般情况...
Visual C++
界面
编程
界面
由控件、工具栏、菜单、窗体等元素组成,对他们进行美化就能得到
一个
美丽的
界面
。让控件更醒目在ComboBox中改变列表框的宽度我们经常会使用到组合框,而组合框是是有2种功能的--下拉和列表。一般情况下,列表框...
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章