Domanda

Sto costruendo un controllo di modifica personalizzato che consiste nell'aggiungere sia un'icona a sinistra che a sinistra e un pulsante icona a destra, sia all'interno del controllo di modifica.Ciò richiede il spostamento del punto di partenza del testo (e del cursore) a destra con la quantità X dei pixel.Ciò significa anche che ho bisogno di "limitare" quanto sia ampio anche il testo, per creare spazio per il pulsante a destra.L'intenzione è quella di fornire sia un'icona personalizzata a sinistra, ad esempio in un browser, oltre a un pulsante "X" sul diritto di cancellare il contenuto del controllo di modifica.

Come compensare il Rect di dove disegnare il testo e il cursore in un discendente TCustomEdit?

È stato utile?

Soluzione

Se si utilizza una versione più recente di Delphi, dovrebbe già essere un controllo di TButtonEdedit e può fare il tuo lavoro.

In caso contrario, penso che tu possa inviare un messaggio EM_SetMargins al tuo TCustomEdit per impostare il margine sinistro e destro.

SendMessage(CustomEdit.Handle, EM_SETMARGINS, EC_LEFTMARGIN or EC_RIGHTMARGIN, MakeLong(LeftMargin, RightMargin));
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top