I want to print coloured text in the minibuffer and in the Messages. Can this be done and how?
message shows message strings with whatever properties you've given them. The function for adding text properties to a string is
C-h f propertize and the Elisp manual, node Changing Properties.
(message "%s" (propertize "My message" 'face 'highlight))
(message "My %s" (propertize "message" 'face 'highlight))