2011-01-07 21 views
15

Các glyph liên kết với TBitBtn cho cả Delphi 2010 đều bị thay đổi và "xấu xí". Có lý do tương thích ngược nào không? Embarcadero có bao gồm các thay thế png được cập nhật mà tôi có thể sử dụng thay cho các glyphs bình thường không?Tại sao các glyphs đi kèm với TBitBtn quá xấu xí và lỗi thời?

Có lẽ đó chỉ là tôi, nhưng tôi rất muốn thấy Embarcadero cố lấy (hoặc thuê) nhà thiết kế đồ họa để cải thiện các biểu tượng này.

alt text

+5

Cá nhân tôi muốn xem Embarcadero bắt đầu sử dụng 32bpp glyphs với alpha (như đã có thể trong 10 năm nay!) Trên menu của riêng họ trong bds. Nếu họ đã làm điều này sau đó họ có thể được di chuyển để loại bỏ các thuật toán xám gắt khủng khiếp cho glyphs trên menu và thay thế nó bằng ImageList_DrawIndirect với ImageListDrawParams.fState = ILS_SATURATE. –

Trả lời

17

Oh cách tôi muốn điều khiển đó sẽ chết: -/... Nó được giới thiệu trong Delphi 1, nhắm mục tiêu 16 bit Windows 3.x. Vào thời điểm đó, ít glyphs trên các nút bấm rất mới lạ và "ăn mặc" giao diện người dùng. (Hãy nhớ BWCC?) Tôi cho rằng các tiêu chuẩn giao diện người dùng thấp hơn nhiều, vì tôi rạn nứt mỗi khi tôi nhìn thấy một ứng dụng với các glyph đó ... Chúng chủ yếu được bao gồm cho các mục đích tương thích ngược.

Chỉ cần gắn với một TButton thông thường, là một điều khiển Windows nguyên bản và giờ đây hỗ trợ nhiều kiểu hơn cả TBitBtn (chúng tôi cũng đã thử nghiệm nguyên âm trong những ngày đó). Nếu bạn chỉ đơn giản là phải bao gồm một glyph trên nút Delphi/RAD Studio XE bao gồm một loạt các glyphs miễn phí, hiện đại hơn từ GlyFX (http://www.glyfx.com/).

+1

@Tất cả các bạn có bất kỳ ý kiến ​​nào về thuật toán chuyển màu xám cho các hình tượng trên menu và mức độ nghèo nàn của nó với hình ảnh pha trộn alpha 32bpp, như tôi đã nhận xét ở trên không? Tôi nhận ra rằng tôi đang có một chút táo bạo hỏi bạn điều đó, nhưng tôi nghĩ tôi sẽ có một chuyến đi trong khi tôi có thể có được sự quyến rũ của bạn !! –

+0

TBitBtn không được chấp nhận? Một tia từ màu xanh lam. Chưa bao giờ nghe nó trước đây. Delphi Trợ giúp tất nhiên là cũng ra khỏi bơi. – kludg

+0

Tôi có nói rằng nó không được chấp nhận? Chờ đã, hãy để tôi đọc lại những gì tôi đã viết ... Không, không đề cập đến việc không dùng nữa. Tôi chỉ bày tỏ một ý kiến. –

5

(Chỉ cần để mọi người đọc chủ đề này trở nên bức tranh lớn:. TBitBtn nắm để Win32 BUTTON kiểm soát, cũng như TButton, nhưng nó có một số thuộc tính bổ sung Một trong số đó là một Một trong số đó là Kind, có thể là bkYes, bkNo v.v., và đặt trước chú thích và hình tượng của nút. Các glyph tiêu chuẩn được hiển thị ở trên và thực sự là chúng cũ.)

Cập nhật

Sau khi cảm thấy sự kiểm soát, và sau đó có một cái nhìn tại các mã nguồn VCL, tôi thấy rằng kiểm soát này thực sự thực hiện trong Delphi, có nghĩa là, tất cả các bản vẽ được thực hiện bằng tay (sử dụng UxThemes, của khóa học). Đây là một -1 lớn, nếu bạn hỏi tôi, bởi vì nút không hoạt động như các điều khiển Windows thông thường nếu Aero được kích hoạt. Nó cảm thấy khác nhau.

End cập nhật

Vâng, khả năng tương thích ngược có lẽ là một điều. Khác là bạn được tự do để thiết lập "glyph" cho bất kỳ bitmap nào bạn muốn. Ngoài ra, vì các nút của giao diện này là không chuẩn trong môi trường Windows, nên nó có thể có ưu tiên khá thấp ở Embarcadero.

Tuy nhiên, để cung cấp cho bạn một số thông tin thực tế, trong Delphi 2009 (ít nhất), có một vài hình ảnh PNG hiện đại được lắp đặt tại

C:\Program Files (x86)\Common Files\CodeGear Shared\Images\GlyFX\Icons\PNG\16x16 
+2

O, Chúa: "Đây là một -1 lớn ...". Tôi đã ở SO quá lâu ... –

+1

Những điều khiển này đã được tạo ra nhiều thập kỷ trước, khi giảm thiểu việc xử lý cửa sổ để bảo tồn tài nguyên là quan trọng hơn nhiều. –

7

Tại sao các bạn thậm chí sử dụng những? Các nút không cần biểu tượng. Họ có đủ tín hiệu trực quan mà không có sự xuất hiện của uxtheme. Có lẽ đó là giải thích: tại sao cập nhật một cái gì đó mà bây giờ là di sản?

+1

+1. Tôi đồng ý. Toàn bộ thiết kế GUI này trông giống như Windows 3.1. –

+1

@Andreas Ahh, Windows 3.1 ..... Bạn không bỏ lỡ việc khởi chạy ứng dụng của mình từ Trình quản lý chương trình? Không, tôi không nghĩ vậy !! –

+4

Nút không cần biểu tượng? Ngay cả Microsoft Design Guidelimes cũng cho phép các biểu tượng "khi nó là một biểu tượng chuẩn cho lệnh hoặc nó giúp người dùng trực quan hóa kết quả của lệnh". Xem http://msdn.microsoft.com/en-us/library/aa511453.aspx. Tất nhiên các biểu tượng tốt nên được sử dụng ... –

5

Tính tương thích ngược với mức độ cực đoan.

Bạn không muốn ứng dụng Delphi 1 FishFact của bạn trông khác nhau trong Delphi XE, phải không?

Lưu ý rằng bạn nhận được bộ biểu tượng đầy đủ mới với các phiên bản Delphi gần đây hơn.
Trên Windows XP đó là những trong C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX

--jeroen

3

Tôi cũng không thể hiểu tại sao họ vẫn không hỗ trợ PNG (và các loại hình khác) cho TẤT CẢ các thành phần của họ.

Các vấn đề liên quan