m_sheet.AddPage(&m_page1); // 加载出勤记录页
m_sheet.AddPage(&m_page2); // 加载加班记录页
m_sheet.AddPage(&m_page3); // 加载请假记录页
m_sheet.AddPage(&m_page4); // 加载出差记录页 m_sheet.Create(this, WS_CHILD | WS_VISIBLE, 0); 这里为什么用this,而不用NULL,WS_CHILD 是什么意思?
m_sheet.ModifyStyleEx (0, WS_EX_CONTROLPARENT);   WS_EX_CONTROLPARENT什么意思?
m_sheet.ModifyStyle( 0, WS_TABSTOP );        WS_TABSTOP 什么意思?
    
// 设置属性页位置
m_sheet.SetWindowPos( NULL, 0, 120, 0,0, 
SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE );后两个0代表什么意思,是窗口右下脚的坐标吗?SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE 这些有分别是什么?
我英文不好,看不懂MSDN,谢谢

解决方案 »

  1.   

    第三个参数:cx:新的宽度。
    第四个参数:cy:新的高度。
      

  2.   

    后两个0代表 新的宽度和高度。但是因为后面的掩码中有SWP_NOSIZE,所以这两个0被无视。SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE 这几个掩码的作用:
    SWP_NOZORDER     保持当前Z序(窗口重叠的顺序)
    SWP_NOSIZE       保持窗口大小(忽略第5和第6个参数)
    SWP_NOACTIVATE   不激活窗口
      

  3.   

    WS_CHILD表示创建的是子窗口
    WS_TABSTOP 表示窗口能通过TAB键得到焦点
    0表示HWND_TOP, 是指改变窗口位置后窗口的Z轴高度最高
    SWP_NOZORDER表示保持窗口的Z轴高度
    SWP_NOSIZE表示窗口不改变大小
    SWP_NOACTIVATE表示窗口处于非焦点状态
      

  4.   

    SWP_NOZORDER:保持现在的z轴。
    SWP_NOSIZE:保持现在的尺寸。
    SWP_NOACTIVATE:不激活窗口。如果不设置这个标志,则窗口激活为活动窗口。
      

  5.   

    this指针指向当前实例,是一个隐藏的类成员
    m_sheet.Create(this, WS_CHILD | WS_VISIBLE, 0); 
    this指向的应该是父窗体(当前窗体)
    WS_CHILD 表示创建一个子窗体(子窗体不允许有菜单栏)WS_EX_CONTROLPARENT(MSDN有句话翻译不出来) 
    表示窗体自身包含参与对话框导航的子窗体。
    The window itself contains child windows that should take part in dialog box navigation. If this style is specified, the dialog manager recurses into children of this window when performing navigation operations such as handling the TAB key, an arrow key, or a keyboard mnemonic.
    WS_TABSTOP 
    当指定此类型时,控件将接受键盘tab键获取焦点SetWindowPos函数改变窗体的大小,位置,以及窗口3D效果的Z值(好像是,有错误请高手指出一下),置于最上方的窗体的Z值最大
    BOOL SetWindowPos(          
        HWND hWnd,           关联窗口的句柄
        HWND hWndInsertAfter,  (不清楚)
        int X,              指定窗体左上角坐标(x,y) 
        int Y,
        int cx,             窗体宽
        int cy,             窗体高
        UINT uFlags         指定窗口尺寸和布置
    );SWP_NOZORDER | SWP_NOSIZE | SWP_NOACTIVATE
    SWP_NOZORDER  保持当前窗体Z值 忽略hWndInsertAfter
    SWP_NOSIZE    保持当前窗体大小 忽略cx,cy
    SWP_NOACTIVATE  不激活窗体(?)