一对话方块模板如下:ABOUTBOX DIALOG DISCARDABLE  32, 32, 180, 100
STYLE DS_MODALFRAME | WS_POPUP
FONT 8, "MS Sans Serif"
BEGIN
   DEFPUSHBUTTON   "OK",IDOK,66,80,50,14
     ICON             "ABOUT1",IDC_STATIC,7,7,21,20
     CTEXT            "About1",IDC_STATIC,40,12,100,8
     CTEXT       "About Box Demo Program",IDC_STATIC,7,40,166,8
     CTEXT       "(c) Charles Petzold, 1998",IDC_STATIC,7,52,166,8
END
第一行给出了对话方块的名称(这里为ABOUTBOX)。如同其他资源,您也可以使用数字作为对话方块的名称。名称後面是关键字DIALOG和DISCARDABLE以及四个数字。前两个数字是对话方块左上角的x、y座标,该座标在程式呼叫对话方块时,是相对於父视窗显示区域的。後两个数字是对话方块的宽度和高度。这些座标和大小的单位都不是图素。它们实际上依据一种特殊的座标系统,该系统只用於对话方块模板。数字依据对话方块使用字体的大小而定(这里是8点的MS Sans Serif字体):x座标和宽度的单位是字元平均宽度的1/4;y座标和高度的单位是字元高度的1/8。因此,对这个对话方块来说,对话方块左上角距离主视窗显示区域的左边是5个字元,距离顶边是2-1/2个字元。对话方块本身宽40个字元,高10个字元。这样的座标系使得程式写作者可以使用座标和大小来大致勾勒对话方块的尺寸和外观,而不管视讯显示器的解析度是多少。由於系统字体字元的高度大致为其宽度的两倍,所以,x轴和y轴的量度差不多相等.以上内容摘录自Charles Petzold的《Windows程序设计》的第11章(对话方块)我的疑问如下:
为什么对话方块左上角距离主视窗显示区域的左边是5个字元?
距离顶边是2-1/2个字元呢?

解决方案 »

  1.   

    对话框的长度单位并不是像素点,他们有比例关系About1",IDC_STATIC,40,12,100,8
    40/8 = 5 ,12/8 = 2-1/2
      

  2.   

    2楼说得对。CText控件距对话框左上原点为40,12对话框单位,宽100,高8
      

  3.   

    About1",IDC_STATIC,40,12,100,8
    是CText控件距对话框左上原点为40,12对话框单位,宽100,高8
    而不是文中所说的
    对话方块左上角距离主视窗显示区域的左边是5个字元,距离顶边是2-1/2个字元啊?
    为什么呢?