1. Переходить от графического компонента, к интерфейсному компонента. Говоря простым языком засунуть в ваш элемент PaintBox. Сразу отпадет необходимость связей Bitmap,Width,Height,doCursor,MouseX,MouseY и т.п. Да и ваш элемент не такой простой получится чтоб делать его как графический. Ничего трудного в этом нет, достаточно посмотреть к примеру элемент CtrlPalette (Палитра ссылок) в вкладке Интерфейс. Этот элемент рисует самостоятельно интерфейс на PaintBox и один из самых простых для подсмотреть.
2. По поводу ваших карандашей и убирания их в ящик, тоже можете подсмотреть в том же CtrlPalette (Палитра ссылок) как это реализовано. Насколько знаю, то такого:
pen := CreatePen
3. Цвет линейного графика N - эти свойства если правильно понял лучше сделать списком вместе с списком валют. Что-то вроде такого:
Свойство=ClrCurrency писал(а):
EURUSD,Red
USDJPY,65345
GBPUSD,Green
USDCHF,Blue
USDRUB,34654
BTCUSD,Magenta
USDNOK,Lime
XAUUSD,Brown
Где через знак разделителя (настраиваемый как к примеру в таблицах) идут данные. Если цвет не задан, то использовать цвет по умолчанию.