Алексей, ты кажется не совсем понял или я не совсем понял. ПРоблему у Junk'a как все это дело сообразить, а не как отобразить (это я так думаю

).
Junk, создаешь кнопку на диалоге, по нажатию на которую будет запускаться поток. Потоку передаш функцию которая и будет у тебя прослушивать ком-порт (или фиг ее знает, что она должна делать). Функцию можешь объявить глобально, а можешь методом класса диалога, только в этом одна тонкость. Если в поток будешь передавать функцию, которая будет являться методом класса, то эта функция должна быть static. Вот такая вот хрень, так что учти.
В этой функции как пришло сообщение от ком-порта или от чего там я не знаю (с ком-портом увы так и не поработал, все руку не дойдут), то ты передавай сообщение (желательно создать свое

) диалогу. В диалоге
пишишь обработчик этого сообщения, что надо делать (ты кажется что-то хочешь там выводить).
Вот кажется и все. Если вдруг ты все это знал и для тебя это прописные истины, то извини не хотел обидеть, просто я так понял твой вопрос.