Может быть уважаемые участники форума подскажут.
Итак. Моя программа использует смайлы в тексте сообщения.
Смайлы вставляются вместо мнемонических сокращений (



До недавнего времени я данные смайлы хранил в ImageList. Оттуда их вытаскивал и вставлял. Но захотелось мне (пользователям тоже) иметь в программе настраиваемое отображение смайлов.
Сначала я сделал поддержку пользовательских смайлов на основе подкаталогов: при запуске программа ищет в своём каталоге подкаталог Smailes. Если находит то все каталоги в Smailes принимаются как наборы смайлов. В этих каталогах находятся ico-файлы со смайлами. При выборе в списке одного из наборов в ImageList загружаются смайлы из данного каталога.
Таким образом я добился того, что пользователь может создать несколько своих наборов со смайлами и менять их в ходе работы программы. Но....
Как-то неаккуратно у меня это получается. Хочется ещё добавить и настраиваемые мнемоники смайлов. Т.е. чтобы пользователь мог в настройках программы, скажем, добавить своё сокращение (например :-/ ) и назначить ему номер изображения (у меня пока изображения в каталогах просто пронумерованы).
Сокращения храятся у меня в программе (пока) в виде массива.
Но вот не могу продумать: как связать пользовательские сокращения и изображения смайлов, где хранить информацию о связи. Ведь негоже пользователю смотреть "Какой там файл у нас с улыбкой?", а потом его номер проставлять в соответствие с сокращением.
Может быть кто-нибудь уже изобретал такой велосипед? За подсказки, предложения и просто мысли и идеи буду очень признателен.
Спасибо за внимание.