If I want to replace a VCL component TXxx should I base my component on TXxx or TCustomXxx?
I am looking to make drop-in replacements for various text-editing components (TEdit, TMemo, etc.) to have WM_PASTE handlers to sanitize inputs to a back-end that is very picky about what it will accept (basically only 7-bit ASCII printable glyphs, spaces, and CR/LF pairs… even tab characters are not acceptable to it). These new components have to go into an existing application, and I want to not do anything I don’t absolutely have to in order to make them work exactly the way the old ones did, except for the non-default paste behavior.
I’ve done one based on TMemo and it seems to work, but somehow or other I have the impression that the recommended approach would be to use TCustomMemo. Is there something I am missing?
By convention, the difference between TSomething and TCustomSomething is that the latter has no or very few published properties so that you can pick which ones to publish yourself. Otherwise there should not be any difference.