当前位置:C++技术网 > 资讯 > Windows窗口默认大小和位置的说明

Windows窗口默认大小和位置的说明

更新时间:2015-06-25 19:34:27浏览次数:1+次

    在创建窗口时,可以不指定窗口的大小和位置,系统也可以创建一个窗口并指定大小和位置,这个就是默认大小和位置。
    这个默认的大小和位置又是如何得来的呢?
    还有,有些创建函数中,已经在对于窗口大小有了默认值,如CFrameWnd类的创建函数。那这个默认值是如何得来的呢?
    对于API中创建窗口,可以使用CW_USEDEFAULT进行默认,系统会计算出一个大小和位置。#define CW_USEDEFAULT       ((int)0x80000000),这是查看宏的定义得来的。如果你将这个赋值给大小和位置,系统就知道是要采用默认的而不是自己设定的,系统就进行默认设置,然后系统根据默认的设置,创建并设置窗口大小和位置。最初创建的大小和位置是预先定义好的,位置是0,大小则是一个系统根据一定规则计算出默认的大小,具体规则还不清楚,如果你知道,请告诉我哦。因此,第一次创建时就是出现在屏幕左上角。但是再创建一个同类的窗口时,指定了大小和位置,则系统会将这个大小位置设置到存储窗口默认大小和位置的字段中,以备以后同类窗口创建设置默认大小和位置。这是API级别的处理。
    而在MFC的创建窗口时,比如CFrameWnd类,已经包含了一个静态的数据成员,用于指定窗口的默认大小和位置。当然,这个大小和位置与系统的默认大小和位置没有关系。只是用这个类创建的窗口,它的创建函数有默认值,这个默认值就是这个静态成员的值。如果不指定这个值,此创建函数就使用这个静态成员的值创建窗口。