MCPcopy Create free account
hub / github.com/ConEmu/ConEmu / ProcessStatusMessage

Method ProcessStatusMessage

src/ConEmu/Status.cpp:1246–1437  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1244}
1245
1246bool CStatus::ProcessStatusMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, POINT ptCurClient, LRESULT& lResult)
1247{
1248 if (!gpSet->isStatusBarShow)
1249 return false; // Разрешить дальнейшую обработку
1250
1251 lResult = 0;
1252
1253 if (gpConEmu->isSizing() || !PtInRect(&mrc_LastStatus, ptCurClient))
1254 {
1255 //bool bWasClick = mb_WasClick;
1256 //mb_WasClick = false;
1257 if (m_ClickedItemDesc != csi_Last)
1258 {
1259 m_ClickedItemDesc = csi_Last;
1260 UpdateStatusBar(true);
1261 }
1262 return false; //bWasClick;
1263 }
1264
1265 CVConGuard VCon;
1266
1267 switch (uMsg)
1268 {
1269 case WM_LBUTTONDOWN:
1270 case WM_LBUTTONDBLCLK:
1271 case WM_MOUSEMOVE:
1272 case WM_RBUTTONDOWN:
1273 case WM_RBUTTONUP:
1274 {
1275 RECT rcClient = {};
1276 bool bFound = false;
1277 for (size_t i = 0; i < countof(m_Items); i++)
1278 {
1279 if (m_Items[i].bShow && PtInRect(&m_Items[i].rcClient, ptCurClient))
1280 {
1281 bFound = true;
1282
1283 // правый клик был на колонке "Info"
1284 if (i == 0)
1285 {
1286 // и координата не правее середины колонки
1287 // (ну так, на всякий случай, чтобы и статусное меню можно было показать)
1288 if (ptCurClient.x <= std::min<LONG>(80, (m_Items[0].rcClient.right/2)))
1289 {
1290 _ASSERTE(m_Items[i].nID == csi_Info);
1291 SetClickedItemDesc(csi_Info);
1292 }
1293 else
1294 {
1295 SetClickedItemDesc(csi_Last);
1296 }
1297 }
1298 else
1299 {
1300 SetClickedItemDesc(m_Items[i].nID);
1301 }
1302 rcClient = m_Items[i].rcClient;
1303 break;

Callers 2

OnMouseMethod · 0.80
OnSetCursorMethod · 0.80

Calls 12

MakePointFunction · 0.85
isPressedFunction · 0.85
isSizingMethod · 0.80
OnNewConPopupMenuMethod · 0.80
SetSynchronizeCurDirMethod · 0.80
IsSynchronizeCurDirMethod · 0.80
RConMethod · 0.80
ShowPopupMenuMethod · 0.80
LogStringFunction · 0.70
GetActiveVConMethod · 0.45
ResetTopLeftMethod · 0.45
VConMethod · 0.45

Tested by

no test coverage detected