Thử nghiệm với mùa hè Pharo 1.4. Tôi nghĩ là tốt hơn để giải thích nó bằng cách sử dụng ảnh chụp màn hình, mã dưới đây.Hình thái: Tự động thay đổi kích thước hộp nhóm chứa trong ngăn cuộn?
Đây là trạng thái ban đầu của tôi (những gì tôi nhận được bây giờ với mã của tôi):
Tôi muốn các morph hộp nhóm để được lấp đầy chiều ngang trên khai mạc, như thế này:
Và sau khi thay đổi kích thước, tôi muốn morph hộp nhóm để duy trì giới hạn, ví dụ:
Đây là mã tôi đã cố gắng:
| s morph1 morph2 row groupBox scroller |
s := ScrollPane new.
morph1 := BorderedMorph new.
morph2 := BorderedMorph new.
row := UITheme builder newRow: {morph1 . morph2}.
groupBox := UITheme builder newGroupbox: 'Group Box Test' for: row.
groupBox
layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0.8));
vResizing: #spaceFill;
hResizing: #spaceFill;
layoutChanged.
scroller := s scroller.
scroller
addMorph: (groupBox position: [email protected])
fullFrame: (0 @ 0 corner: [email protected]).
s scroller color: Color white.
s
extent: [email protected];
openCenteredInWorld
Các thùng chứa phải là một ScrollPane.
Tôi đã thích nghi mã của Bert để không sử dụng Dạng đa UIBuilder, kết quả là:
morph1 := Morph new.
morph2 := Morph new.
row := ScrollPane new.
row
color: Color white; borderColor: Color gray; borderWidth: 1;
layoutPolicy: ProportionalLayout new.
row scroller
addMorph: morph1 fullFrame: (LayoutFrame fractions: ([email protected] corner: [email protected]) offsets: ([email protected] corner: [email protected]));
addMorph: morph2 fullFrame: (LayoutFrame fractions: ([email protected] corner: [email protected]) offsets: ([email protected] corner: [email protected])).
row
extent: [email protected];
openInHand
nhưng cũng không hiệu quả vì các hình thái màu xanh bên trong được chồng chéo và không làm đầy khung quy định. Tôi đã thử nhiều kết hợp bằng cách sử dụng khung nhưng không có gì làm việc cho đến nay. Bạn có biết tôi đang thiếu gì không?
Tôi đã chỉnh sửa câu hỏi của mình bằng cách thêm phiên bản bộ điều hợp mã của bạn, nhưng nó dường như không hoạt động. Có lẽ nó là một lỗi ScrollPane? – user183928