MCPcopy Create free account
hub / github.com/DiscordMessenger/dm / WndProc

Method WndProc

src/windows/MessageEditor.cpp:784–852  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

782}
783
784LRESULT MessageEditor::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
785{
786 MessageEditor* pThis = (MessageEditor*)GetWindowLongPtr(hWnd, GWLP_USERDATA);
787
788 switch (uMsg)
789 {
790 case WM_NCCREATE:
791 {
792 CREATESTRUCT* cs = (CREATESTRUCT*)lParam;
793 SetWindowLongPtr(hWnd, GWLP_USERDATA, (LONG_PTR)cs->lpCreateParams);
794 break;
795 }
796 case WM_DESTROY:
797 {
798 pThis->m_btnUpload_hwnd = NULL;
799 pThis->m_mentionText_hwnd = NULL;
800 pThis->m_mentionName_hwnd = NULL;
801 pThis->m_mentionCheck_hwnd = NULL;
802 pThis->m_mentionCancel_hwnd = NULL;
803 pThis->m_mentionJump_hwnd = NULL;
804 pThis->m_jumpPresLbl_hwnd = NULL;
805 pThis->m_editingMessage_hwnd = NULL;
806 break;
807 }
808 case WM_SIZE:
809 {
810 pThis->Layout();
811 break;
812 }
813 case WM_COMMAND:
814 {
815 switch (wParam) {
816 case CID_MESSAGEINPUTSEND:
817 pThis->TryToSendMessage();
818 break;
819 case CID_MESSAGEREPLYCANCEL:
820 pThis->StopEdit();
821 pThis->StopReply();
822 break;
823 case CID_MESSAGEUPLOAD:
824 UploadDialogShow();
825 break;
826 case CID_MESSAGEJUMPPRESENT: {
827 Snowflake max = UINT64_MAX;
828 SendMessage(g_Hwnd, WM_SENDTOMESSAGE, 0, (LPARAM)&max);
829 break;
830 }
831 case CID_MESSAGEREPLYJUMP: {
832 if (pThis->m_replyMessage)
833 SendMessage(g_Hwnd, WM_SENDTOMESSAGE, 0, (LPARAM) &pThis->m_replyMessage);
834 break;
835 }
836 }
837 break;
838 }
839 // Windows NT 3.1 doesn't seem to send wm_ctlcolorstatic here for some weird
840 // reason. I don't know how to fix that, I tried.
841 case WM_CTLCOLORSTATIC:

Callers

nothing calls this directly

Calls 5

UploadDialogShowFunction · 0.85
TryToSendMessageMethod · 0.80
StopEditMethod · 0.80
StopReplyMethod · 0.80
LayoutMethod · 0.45

Tested by

no test coverage detected