2011-01-07 9 views
15

I glifi associati a TBitBtn anche per Delphi 2010 sono misti e "brutti". C'è un motivo di retrocompatibilità che rimangono? Embarcadero include sostituzioni di png aggiornate che potrei usare al posto di questi glifi normali?Perché i glifi sono inclusi in TBitBtn così brutti e obsoleti?

forse è solo me, ma mi piacerebbe vedere Embarcadero sollecitare (o noleggiare) graphic designer per migliorare queste icone.

alt text

+5

Personalmente mi piacerebbe vedere Embarcadero iniziare a usare i glifi 32bpp con alfa (come è stato possibile per 10 anni!) Sui propri menu in bds. Se lo facessero, potrebbero essere spostati per rimuovere l'algoritmo ingrigito orribilmente rotto per i glifi nei menu e sostituirlo con ImageList_DrawIndirect con ImageListDrawParams.fState = ILS_SATURATE. –

risposta

17

Oh come vorrei che il controllo sarebbe solo morire: -/... E 'stato introdotto in Delphi 1, che mira a 16 bit di Windows 3.x. A quel tempo i piccoli glifi sui pulsanti erano molto originali e "mascherati" dall'interfaccia utente. (Ricordate BWCC?) Suppongo che gli standard dell'interfaccia utente fossero molto più bassi di allora, perché rabbrividisco ogni volta che vedo un'applicazione con questi glifi ... Sono principalmente inclusi per motivi di compatibilità a ritroso.

Basta attaccare con un normale TButton, che è un controllo nativo di Windows e ora supporta in modo nativo più stili anche di TBitBtn (siamo stati vocalizzati in quei giorni anche in questo caso). Se devi semplicemente includere un glifo sul pulsante Delphi/RAD Studio XE include un'intera serie di glifi gratuiti e più moderni di GlyFX (http://www.glyfx.com/).

+1

@Allen avete qualche opinione sull'algoritmo ingrigito per i glifi nei menu e quanto è scarso con le immagini miste alfa 32bpp, come ho commentato sopra? Mi rendo conto di essere un po 'sfacciato a chiedertelo, ma ho pensato che avrei provato mentre potevo essere in grado di ottenere la tua attenuazione !! –

+0

TBitBtn è obsoleto? Un fulmine a ciel sereno. Mai sentito prima. Anche l'aiuto di Delphi è fuori dalla nuotata. – kludg

+0

Ho detto che era deprecato? Aspetta, fammi rileggere quello che ho scritto ... No, non menzionare la deprecazione. Ho semplicemente espresso un'opinione. –

5

(solo in modo che tutti la lettura di questo thread ottiene il quadro generale:. TBitBtn si riduce al nativo Win32 BUTTON controllo, come fa TButton, ma ha alcune proprietà aggiuntive Una di queste è un modo semplice di visualizzare un'icona accanto alla voce. un altro di questi è Kind, che può essere bkYes, bkNo ecc, e predispone la didascalia e glifo del tasto. I glifi standard sono mostrati sopra, e in effetti, sono vecchi.)

Aggiornamento

Dopo la sensazione di controllo, e poi avere uno sguardo al codice sorgente VCL, vedo che questo controllo è realtà implementato in Delphi, cioè tutti disegno viene effettuata manualmente (utilizzando UxThemes, di corso). Questo è un importante -1, se me lo chiedi, perché il pulsante non si comporta come normali controlli di Windows se Aero è abilitato. Sembra diverso.

aggiornamento Fine

Sì, la compatibilità è probabilmente una cosa. Un altro è che sei libero di impostare il "glifo" su qualsiasi bitmap che desideri. Inoltre, poiché i pulsanti di questo aspetto non sono standard nell'ambiente Windows, probabilmente ha una priorità piuttosto bassa in Embarcadero.

Tuttavia, per darvi alcune informazioni pratiche, in Delphi 2009 (almeno), ci sono alcune immagini PNG moderni installati presso

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

O, Dio: "Questo è un importante -1 ...". Sono stato a SO per troppo tempo ... –

+1

Questi controlli sono stati creati decenni fa, quando la riduzione al minimo delle maniglie delle finestre per conservare le risorse era molto più importante. –

7

Perché stai usando anche questi? I pulsanti non hanno bisogno di icone. Hanno abbastanza spunti visivi senza l'avvento di Uxtheme. Forse questa è la spiegazione: perché aggiornare qualcosa che ora è legacy?

+1

+1. Sono d'accordo. L'intero design della GUI assomiglia a Windows 3.1. –

+1

@Andreas Ahh, Windows 3.1 ..... Non ti manca lanciare le tue app da Program Manager? No, non la pensavo così !! –

+4

I pulsanti non hanno bisogno di icone? Anche i Microsoft Design Guidelimes consentono l'uso di icone "quando si tratta di un simbolo standard per il comando o aiuta gli utenti a visualizzare i risultati del comando". Vedi http://msdn.microsoft.com/en-us/library/aa511453.aspx. Ovviamente le buone icone dovrebbero essere usate ... –

5

compatibilità all'indietro all'estremo.

Tu non vuoi che il tuo Delphi 1 FishFact app per guardare in modo diverso in Delphi XE, vero?

Si noti che si ottiene un nuovo set completo di icone con versioni Delphi più recenti.
in Windows XP sono quelli C:\Program Files\Common Files\CodeGear Shared\Images\GlyFX

--jeroen

3

anche io non riesco a capire il motivo per cui ancora non supportano PNG (e altri tipi di immagine) per tutti i loro componenti.

Problemi correlati