找回密码
 立即注册

QQ登录

只需一步,快速开始

iceman
社区贡献组   /  发表于:2012-10-19 09:32:00
11#
回复 10楼sinmax的帖子

pixel 的大小和硬件环境有关,所以需要通过 Screen 来转换 twips 和 pixel。
例如,设置行高为 25 pixel。

  1. fpSpread1.Sheet = 0
  2. fpSpread1.UnitType = UnitTypeTwips
  3. fpSpread1.RowHeight(1) = 25 * Screen.TwipsPerPixelY
复制代码
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-19 09:56:00
12#
回复 10楼sinmax的帖子

单位转换:
  1. 1 twip = 1/20 point

  2. 1 point = 1/72 inch

  3. 1 twip = 1/1440 inch
复制代码
回复 使用道具 举报
sinmax
注册会员   /  发表于:2012-10-19 16:14:00
13#
private void ddToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ss.UnitType = FPSpreadADO.UnitTypeConstants.UnitTypeTwips;
            ss.set_ColWidth(2, TwipsFromPixels(1000));
        }

        private double TwipsFromPixels(int pixels)
        {
            float dpiX, dpiY;
            using (Graphics g = this.CreateGraphics())
            {
                dpiX = g.DpiX;
                dpiY = g.DpiY;
            }
            return ((1440 / dpiX) * pixels);
        }


终于用这个方法,写出来了!!换成VB的就行了。
回复 使用道具 举报
sinmax
注册会员   /  发表于:2012-10-19 16:15:00
14#
谢谢各位版主们!!:hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw::hjyzw:
回复 使用道具 举报
iceman
社区贡献组   /  发表于:2012-10-19 16:36:00
15#
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部