跟普通的对话框不同,默认的CPropertySheet、CPropertyPage只有在InitDialog时才能改变自身或者子控件的size,这个问题搞了半天才意识到:在其他地方不管是调用MoveWindow还是SetWindowPos,不管把rect的大小设置为多少,都无法改变控件的size和pos(pos始终是(0,0),也就是最左上端)。
解决方案:
1、在InitDialog中调用MoveWindow;
2、http://www.codeguru.com/cpp/controls/propertysheet/sizing/article.php/c599/
3、http://www.codeproject.com/KB/tabs/resizableproperties.aspx
第一种是自己摸索出来的,不知道为啥SetWindowPos不管用,后面是搜索出来的,没试过,以备以后使用,从原理上来看,第二种更让人喜欢些。