首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

wsprintf函数的空格占位符跟0占位符所占的空间不一样

2013-07-09 
wsprintf函数的空格占位符和0占位符所占的空间不一样在窗体工程中,添加两个Edit组件(Edit1和Edit2,默认文

wsprintf函数的空格占位符和0占位符所占的空间不一样
在窗体工程中,添加两个Edit组件(Edit1和Edit2,默认文本都是10),再添加一个命令按钮(Button1)和一个ListBox组件(ListBox1),在命令按钮响应函数中添加程序:
    int a,b;
    a=StrToInt(Edit1->Text);
    b=StrToInt(Edit2->Text);
    char aChar[100];
    //wsprintf(aChar,"%10d%10d",a,b);//空格占位符
    wsprintf(aChar,"%010d%010d",a,b);//0占位符
    ListBox1->Items->Add(aChar);
如果使用0占位符,Edit1文本不改变,输出的内容A是00000000100000000010
将Edit1文本修改成100,            输出的内容B是00000001000000000010,注意:内容A和内容B的每一位的位置是上下对齐的
如果使用空格占位符,Edit1文本不改变,输出的内容A是      10       10
将Edit1文本修改成100,              输出的内容B是      100        10,注意:内容A和内容B的每一位的位置是上下是不对齐的
我感觉0占位符在ListBox组件的文本中占用的单位宽度要大于空格占位符在ListBox组件的文本中占用的单位宽度
请问:如何在使用空格占位符的情况下让上下两条文本一一对齐 ListBox组件 wsprintf函数 空格占位宽度
[解决办法]
你把 ListBox 的字体设成等宽字体就行了,比如宋体。

热点排行