From 5a6d4105c284fadf2306ebe6a83f4fe760d7dfb1 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Wed, 16 Aug 2017 16:16:54 +0300 Subject: fixes #886 (Scriver: group chat does not start at the bottom) --- plugins/Scriver/src/chat_window.cpp | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'plugins') diff --git a/plugins/Scriver/src/chat_window.cpp b/plugins/Scriver/src/chat_window.cpp index 551abc982b..23209b616d 100644 --- a/plugins/Scriver/src/chat_window.cpp +++ b/plugins/Scriver/src/chat_window.cpp @@ -410,22 +410,12 @@ void CChatRoomDlg::RedrawLog() void CChatRoomDlg::ScrollToBottom() { - if ((GetWindowLongPtr(m_log.GetHwnd(), GWL_STYLE) & WS_VSCROLL) == 0) - return; - - SCROLLINFO sci = { 0 }; - sci.cbSize = sizeof(sci); - sci.fMask = SIF_PAGE | SIF_RANGE; - GetScrollInfo(m_log.GetHwnd(), SB_VERT, &sci); - - sci.fMask = SIF_POS; - sci.nPos = sci.nMax - sci.nPage + 1; - SetScrollInfo(m_log.GetHwnd(), SB_VERT, &sci, TRUE); + if (GetWindowLongPtr(m_log.GetHwnd(), GWL_STYLE) & WS_VSCROLL) { + int len = GetWindowTextLength(m_log.GetHwnd()) - 1; + m_log.SendMsg(EM_SETSEL, len, len); - CHARRANGE sel; - sel.cpMin = sel.cpMax = m_log.GetRichTextLength(); - m_log.SendMsg(EM_EXSETSEL, 0, (LPARAM)&sel); - PostMessage(m_log.GetHwnd(), WM_VSCROLL, MAKEWPARAM(SB_BOTTOM, 0), 0); + PostMessage(m_log.GetHwnd(), WM_VSCROLL, MAKEWPARAM(SB_BOTTOM, 0), 0); + } } void CChatRoomDlg::ShowFilterMenu() -- cgit v1.2.3