Мне интересно, хотите ли вы создать элемент управления, такой как TSpeedButton, или вам просто нужен такой же конечный результат ...
Программирование с нуля, безусловно, возможно, но я бы отнесся к этому только как к учебному упражнению.
Предполагая, что вы хотите достичь аналогичного конечного результата ...
Delphi TSpeedButton отличался от стандартного TButton, который разработчики сочли полезным - он был плоским, не фокусировался и потреблял меньше ресурсов, чем обычная кнопка (потому что у него не было основного дескриптора Windows).
Что из этого важно для вас?
Если вам просто нужна плоская кнопка, которая не принимает фокус, используйте обычную кнопку с FlatStyle = Flat (или PopUp) и TabStop = false. Вы можете настроить глиф, задав либо свойство Image, либо комбинацию ImageList и ImageIndex / ImageKey.
Альтернативой этому может быть поиск существующего компонента кнопки, который соответствует вашим потребностям - одним из мест для поиска может быть Krypton Toolkit (бесплатное использование, см. http://www.componentfactory.com/toolkit_buttoncontrols.php).
Если вы хотите сократить количество ресурсов, потребляемых вашим приложением, скорее всего, вы получите лучшую отдачу, глядя в другое место.
Еще во времена Windows 3.1 (Delphi 1) и Windows 95 (Delphi 2) количество доступных дескрипторов было строго ограничено с максимальным количеством доступных для всей системы. Сегодня в Windows XP и Vista количество доступных дескрипторов намного выше, а число зависит от процесса, а не от всей системы. Если вы не создаете тысячи и тысячи кнопок, вы вряд ли приблизитесь к концу.