在窗口A按F1,弹出另外的窗口B,两个窗口要左右并排显示,并撑满整个屏幕;
拖两个窗口相邻的边,两个窗口大小同时改变,且相对位置不变。
再按F1,窗口B隐藏,窗口A最大化。
如此反复。最好能给出代码,我是菜鸟……>_<先谢谢各位啦。

解决方案 »

  1.   

    首先在A中注册一个热键,按你的要求最好注册全局的,RegisterHotKey,并在WM_HOTKEY中检测到热键时分两种情况,第一中情况是如果B不可见(GetWindowVisible),如果可见就使之不可见,然后向A发个最大化的消息,WM_SYSCOMMAND,wParam,为SC_MAXIMIZE,而如果不可见 就执行下面的获取A的窗口位置GetWindowRect(先假设你只要宽度并排),并通过窗口位置得到A的宽度然后获取屏幕宽度GetSystemMetrics(SM_CXSCREEN),这样再知道屏幕宽度和A的位置和宽度的情况下就好办了吧
      

  2.   

    同意楼上的,用BOOL SetWindowPos(
      HWND hWnd,             // handle to window
      HWND hWndInsertAfter,  // placement-order handle
      int X,                 // horizontal position
      int Y,                 // vertical position
      int cx,                // width
      int cy,                // height
      UINT uFlags            // window-positioning flags
    );
     
    设置窗口大小
      

  3.   

    全都用消息完成。F1键盘消息,值为70H--79H VK_F1--VKF10。
    B窗口可不可以通过线程创建一个窗口。
    建一个新类基类为CWinThread
    用m_pMainFrame->Create(NULL,"
    AfxBeginThread(RUNTIME_CLASS(CMyUIThread));
      

  4.   

    不好意思误操作。
    ("窗口名");其它略谈
    然后用AfxBeginThread(RUNTIME_CLASS(CMyUIThread));
    大小的问题是不是也可以通过消息解决呢?