我想实现以下功能:
   我的程序界面分2部分,左边是功能导航菜单(树状结构),右边是数据显示部分。     1、点击左边的某一项功能按钮,程序自动获取用户账号信息,并自动登录到指定主页例如:http://test.com.cn/cgi-bin/login.cgi 并进行身份验证;
     2、打开的主页窗口不是弹出新的IE窗口,而是在程序界面的指定位置显示Web界面。     我在程序界面的指定位置插入 WebBrowser  控件,定义 CWebBrowser  m_web变量;已经实现上述功能;问题是不知道在调整程序界面大小时,如何实现Web界面大小的动态调整。     此外我尝试过 ShowHTMLDialog 方法,但是该方法是打开新的IE窗口,没有实现在程序指定位置显示Web界面。
     还有 CHtmlCtrl/CHtmlViwe 的方法也没有找到相应的方法实现。
    
     请教各位大侠,是否有其他方法实现以上功能!谢谢

解决方案 »

  1.   

    问题是不知道在调整程序界面大小时,如何实现Web界面大小的动态调整。 响应主程序的onsize, 在这个函数中对m_web调用MoveWindow进行调整
      

  2.   

    楼上说的是 这个吧  
    HWND hwnd=(HWND)GetDlgItem(IDC_EXPLORER1);//IDC_EXPLORER1是WebBrowser 控件ID
    RECT rc;
    GetClientRect(hwnd,&rc);
    m_web.MoveWindow(&rc,true);我尝试了下,把这段代码放到OnSize(UINT nType, int cx, int cy) ,运行报错啊?跟踪了下,发现在执行OnInitDialog()之前,会先执行OnSize(),不知道是不是因为在窗体没有生成之前对象不存在,不能执行上面的代码?
      

  3.   

    可以OnInitDialog中设置一个变量,当这个变量true了,再执行OnSize中你的MoveWindow等代码
      

  4.   

    也可直接判断
    if ( ::IsWindow(m_web.GetSafeHWnd()) )
    {
       ...
    }