当前位置:首页
开发技术指南» 文章正文
    引言:

 ·combox相关    »显示摘要«
    摘要: 现象如下: 生成一个基于dialog的工程 在该dialog上放一个combo box 在combo boxs属性的style(也就是第三页) 做如下设置: type : drop list owner draw : fixed 同时勾选 has strings 按ctrl + w 给该dialog加上一个ccombox的变量 m_combox 编译运行 发现报错如下: 应用程序发生异常,......
 ·问题    »显示摘要«
    摘要: 为什么我做的按钮第一次点击没有反应,第二次就可以了呢? private void button1_click(object sender, system.eventargs e) { this.button1.attributes.add("onclick","return confirm (\"确定要删除吗?\") ;"......


关于CSplitterWnd

问个关于分割窗口的问题。  
  大家都知道怎么在CMainFrame::OnCreateClient()中怎么分割窗口。  
  但我现在不想在窗口一打开就分开。  
  我想在满足一定条件的时候才分割窗口。  
   
  举个简单的例子,比如我点一下某个菜单项才分割窗口。  
   
  所以我把在CMainFrame::OnCreateClient中分割窗口的代码放到  
  OnSplitterwnd()   里面。  
   
  添加如下代码:  
  CCreateContext   pContext;  
  pContext.m_pCurrentDoc   =   GetActiveDocument();  
  pContext.m_pNewViewClass   =   RUNTIME_CLASS(CPubDlg);   //CPubDlg为一个CFormView类  
  pContext.m_pCurrentFrame   =   (CMainFrame   *)AfxGetMainWnd();  
  然后用pContext来作为m_wndSplitter.CreateView里参数分割窗口  
  编译没错,但是运行后没有效果,窗口还是原来那样。  
  请问这个思路是否可行?如果可行的话应该怎么写呢?  
   
 

NO.1   作者: umbrella1984

切了以后刷新下窗口看看,RecalcLayout()函数

NO.2   作者: younggle

可以的啊.  
  CSplitterWnd         m_wndSplitter;  
  //   create   splitter   window  
          if   (!m_wndSplitter.CreateStatic(this,   1,   2))  
                  return;  
   
          if   (!m_wndSplitter.CreateView(0,   0,   RUNTIME_CLASS(CLeftView),   CSize(250,   100),   NULL)   ||  
                  !m_wndSplitter.CreateView(0,   1,   RUNTIME_CLASS(CRightView),   CSize(100,   100),   NULL))  
          {  
                  return;  
          }

NO.3   作者: coolwin11

void   CMainFrame::OnViewSplitter()    
  {  
          CCreateContext   context;  
          context.m_pCurrentDoc   =   GetActiveDocument();  
          context.m_pNewViewClass   =   RUNTIME_CLASS(CSdiTestView);  
          CView   *pOldView   =   GetActiveView();  
          if   (!m_wndSplitter.CreateStatic(this,   1,   2))  
                  return;  
   
          if   (!m_wndSplitter.CreateView(0,   0,   RUNTIME_CLASS(CLeftView),   CSize(250,   100),   NULL)   ||  
                  !m_wndSplitter.CreateView(0,   1,   RUNTIME_CLASS(CRightView),   CSize(100,   100),   NULL))  
          {  
                  return;  
          }  
          pOldView->ShowWindow(SW_HIDE);  
          RecalcLayout();  
  }


    摘要: 使用的是oledb连接方式, 可以连接到数据库进行update ,insert等操作了,也可以使用oledbdatareader来select出数据库中的数据,但是当使用oledbdataadapter的时候问题来了,具体代码如下 string sybaseconnectionstring = "provider=sybase.aseoledbprovider;server na......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE