Пишем Чат Для Локальной Сети С Помощью C++ Builder. Клиентская Часть

Добрый день.

Это продолжение статьи , в котором я расскажу о создании клиента для своего чата.

На клиентской стороне серверной части я потратил гораздо больше времени, так как там есть вторая важная составляющая — графическая часть.

Дизайн клиента очень простой, даже примитивный.

Я не видел смысла создавать строку меню в приложении.

На форме 2 панели, одна из них меняет цвет, если клиент подключен к серверу - зеленая, иначе - красная.

Следующая панель содержит TabControl. Я попробовал 5 или 6 вариантов оформления приложения и нашел наиболее удобным использовать компонент TabControl. Его вкладки содержат имена пользователей, находящихся в сети; при выборе соответствующей вкладки начинается переписка с этим пользователем (также отображается история сообщений).

Сообщения отображаются в компоненте «Заметка», сообщения необходимо писать в компоненте «Редактировать» и отправлять нажатием соответствующей кнопки или клавиши Enter. У клиента также есть возможность свернуть окно в область уведомлений.

   

void __fastcall TFormMain::DrawItem(TMessage& Msg) { IconDrawItem((LPDRAWITEMSTRUCT)Msg.LParam); TForm::Dispatch(&Msg); } //--------------------------------------------------------------------------- void __fastcall TFormMain::MyNotify(TMessage& Msg) { POINT MousePos; switch(Msg.LParam) { case WM_RBUTTONUP: if (GetCursorPos(&MousePos)) { PopupMenu1->PopupComponent = FormMain; SetForegroundWindow(Handle); PopupMenu1->Popup(MousePos.x, MousePos.y); } else Show(); break; case WM_LBUTTONDBLCLK: Show(); break; default: break; } TForm::Dispatch(&Msg); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- bool __fastcall TFormMain::TrayMessage(DWORD dwMessage) { NOTIFYICONDATA tnd; PSTR pszTip; pszTip = TipText(); tnd.cbSize = sizeof(NOTIFYICONDATA); tnd.hWnd = Handle; tnd.uID = IDC_MYICON; tnd.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; tnd.uCallbackMessage

Теги: #локальные сети #c++ builder #чаты #программирование #C++ #Разработка систем связи
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.