0

我在 Mac OS X 10.4 上使用 Shoes 0.r1134

运行以下代码时,

Shoes.app do
    edit_line("Something")
    edit_line("Something Else")
end

第二个 edit_line 控件似乎比第一个控件低 4 个像素,这样它们就不会彼此齐平。为什么是这样?

4

1 回答 1

1

我无法在我的机器上从源代码构建 Shoes,但以下行看起来很可疑(shoes/shoes/ruby.c 的第 3410 行):

shoes_edit_line_draw(VALUE self, VALUE c, VALUE actual)
{
  SETUP_CONTROL(0, 0, FALSE);

#ifdef SHOES_QUARTZ
  place.x += 4; place.ix += 4;
  place.y += 4; place.iy += 4;
  place.h += 4; place.ih += 4;
  place.w += 4; place.iw += 4;
#endif

对于list_box(第 3552 行)和按钮(第 3388 行),代码仅显示更改高度。

#ifdef SHOES_QUARTZ
  place.h += 8;
  place.ih += 8;
#endif

#ifdef SHOES_QUARTZ
  place.h += 8;
  place.ih += 8;
#endif

分别。但是,我不知道这是否不正确。

于 2009-03-17T06:01:14.750 回答