void NMenuCtrl::OnLButtonDown(NPoint _point) { //TRACE("OnLButtonDown\n"); //SetFocus(); if (m_dwItemHighLightedIdx!=-1) { NMEItemDesc* pitem = &m_carrayItems[m_dwItemHighLightedIdx]; //Toggle CheckBox if (pitem->dwStyle&ME_ITEMSTYLE_CHECKBOX) pitem->bChecked=!pitem->bChecked; //Notify selected item ID if (pitem->ppopUpMenu==null) { m_dwReturnCmdID = pitem->dwID; ShowMenu(false, m_pcurParentMenu); OnItemClick(this); //Send To Parent Menu too if (m_pcurParentMenu) m_pcurParentMenu->OnItemClick(this); } } }
void CSelectOnlineUserWnd::Notify(TNotifyUI& msg) { if (_tcsicmp(msg.sType, DUI_MSGTYPE_WINDOWINIT) == 0) { OnPrepare(msg); } if (msg.sType == DUI_MSGTYPE_CLICK) { if (msg.pSender->GetName() == L"closeBtn_chat" || msg.pSender->GetName() == L"cancelChatInsideBtn") { PostQuitMessage(0); } else if (msg.pSender->GetName() == L"conformChatInsideBtn") { Close(); } } if (msg.sType == DUI_MSGTYPE_ITEMSELECT) { } if (msg.sType == DUI_MSGTYPE_ITEMCLICK) { OnItemClick(msg); } }
LRESULT CDUITreeViewImpl::ProcessEvent(const DUIEvent& info, BOOL& bHandled) { LRESULT lRet(S_OK); switch(info.dwEventType) { case DUI_EVENT_ELE_ITEM_CLICK: OnItemClick(info); bHandled = TRUE; break; case DUI_EVENT_ELE_ITEM_DBCLICK: //OnItemDBClick(info); bHandled = TRUE; break; case DUI_EVENT_ELE_ITEM_MOUSEENTER: case DUI_EVENT_ELE_ITEM_MOUSELEAVE: //OnItemHover(info); bHandled = TRUE; break; case DUI_EVENT_KEYDOWN: //OnKeyDown(info); bHandled = TRUE; break; default: break; } if(bHandled) return lRet; return theBase::ProcessEvent(info, bHandled); }
void CXTPTabManager::SetFocusedItem(CXTPTabManagerItem* pItem) { if (!OnBeforeItemClick(pItem)) return; if (pItem) { OnItemClick(pItem); } }
void ItemBrowserWidget::ItemClick(Widget* _widget) { int y = _widget->GetPosition().y / item_size_.y; int x = _widget->GetPosition().x / item_size_.x; int page_index = x + grid_size_.x * y; if(y == grid_size_.y - 1 && allow_scroll_) page_index--; int item_index = page_ * (grid_size_.x * grid_size_.y - 2) + page_index; OnItemClick(this, items_[item_index]); if(_widget != last_clicked_) { last_clicked_ = _widget; OnItemSelectedChanged(this, items_[item_index]); } }
void CRichEditWnd::Notify(TNotifyUI &msg) { if (msg.sType.Compare(_T("timer")) != 0 && msg.pSender) VSOutput::Write(CDuiString::FormatString(_T("name:%s,type:%s\r\n"), msg.pSender->GetName().GetData(), msg.sType.GetData())); if (msg.sType == _T("windowinit")) { OnInitWindow(msg); } else if (msg.sType == _T("click")) { OnClick(msg); } else if (msg.sType == _T("itemclick")) { OnItemClick(msg); } else if (msg.sType == _T("itemactivate")) { OnItemActive(msg); } }
BOOL CTSKTabManager::PerformClick(HWND hWnd, CPoint pt, BOOL bNoItemClick) { //CXTPTabManagerNavigateButton* pNavigateButton = HitTestNavigateButton(pt, FALSE); //if (pNavigateButton) //{ // pNavigateButton->PerformClick(hWnd, pt); // return TRUE; //} if (bNoItemClick) return FALSE; CTSKTabManagerItem* pItem = HitTest(pt); if (pItem) { if (!OnBeforeItemClick(pItem)) return FALSE; //if (IsAllowReorder()) //{ // ReOrder(hWnd, pt, pItem); //} //else if (GetPaintManager()->m_bSelectOnButtonDown) { OnItemClick(pItem); } //else //{ // TrackClick(hWnd, pt, pItem); //} return TRUE; } return FALSE; }
void CMainWindow::Notify( TNotifyUI &msg ) { DUI__Trace(msg.sType); if (msg.sType==_T("windowinit")) { OnInitWindow(msg); } else if (msg.sType==_T("click")) { OnClick(msg); } else if (msg.sType==_T("selectchanged")) { OnSelectChanged(msg); } else if (msg.sType==_T("itemactivate")) { OnItemActive(msg); } else if (msg.sType==_T("itemclick")) { OnItemClick(msg); } else if (msg.sType==_T("menu")) { OnMenu(msg); } else if (msg.sType==_T("killfocus")) { OnKillFocus(msg); } else if (msg.sType==_T("return")) { OnReturn(msg); } }
void CXTPTabManager::ReOrder(HWND hWnd, CPoint pt, CXTPTabManagerItem* pItem) { CXTPTabManagerItem* pSelected = m_pSelected; m_pSelected = pItem; if (GetPaintManager()->m_bHotTracking) m_pHighlighted = pItem; Reposition(); CArray<CRect, CRect&> arrRects; for (int j = 0; j < GetItemCount(); j++) { CRect rc = GetItem(j)->GetRect(); arrRects.Add(rc); } int nIndex = pItem->GetIndex(); ::SetCapture(hWnd); while (::GetCapture() == hWnd) { MSG msg; VERIFY(::GetMessage(&msg, NULL, 0, 0)); if (::GetCapture() != hWnd) { DispatchMessage (&msg); break; } switch (msg.message) { case WM_MOUSEMOVE: { pt = CPoint((short signed)LOWORD(msg.lParam), (short signed)HIWORD(msg.lParam)); for (int i = 0; i < arrRects.GetSize(); i++) { if (i != pItem->GetIndex() && arrRects[i].PtInRect(pt)) { while (i != pItem->GetIndex()) { int j = i < pItem->GetIndex() ? pItem->GetIndex() - 1 : pItem->GetIndex() + 1; CXTPTabManagerItem* p1 = pItem; CXTPTabManagerItem* p2 = m_arrItems[pItem->GetIndex()] = m_arrItems[j]; m_arrItems[j] = p1; OnItemsChanged(); OnSwitchItem(p1, p2); } break; } } } break; case WM_KEYDOWN: if (msg.wParam != VK_ESCAPE) break; case WM_CANCELMODE: case WM_LBUTTONUP: case WM_RBUTTONDOWN: goto ExitLoop; default: DispatchMessage (&msg); break; } } ExitLoop: ReleaseCapture(); PerformMouseMove(hWnd, pt); m_pSelected = pSelected; OnItemClick(pItem); if (nIndex != pItem->GetIndex()) { OnItemOrderChanged(pItem, nIndex, pItem->GetIndex()); } }
void CXTPTabManager::TrackClick(HWND hWnd, CPoint pt, CXTPTabManagerItem* pItem) { if (GetPaintManager()->m_bHotTracking) m_pHighlighted = pItem; m_pPressed = pItem; BOOL bHighlighted = TRUE; Reposition(); BOOL bAccept = FALSE; ::SetCapture(hWnd); while (::GetCapture() == hWnd) { MSG msg; VERIFY(::GetMessage(&msg, NULL, 0, 0)); if (::GetCapture() != hWnd) { DispatchMessage (&msg); break; } switch (msg.message) { case WM_MOUSEMOVE: { pt = CPoint((short signed)LOWORD(msg.lParam), (short signed)HIWORD(msg.lParam)); bHighlighted = pItem->GetRect().PtInRect(pt); if (GetPaintManager()->m_bHotTracking) { CXTPTabManagerItem* pHighlighted = bHighlighted ? pItem : NULL; if (pHighlighted != m_pHighlighted) { m_pHighlighted = pHighlighted; RedrawControl(pItem->GetRect(), TRUE); } } } break; case WM_KEYDOWN: if (msg.wParam != VK_ESCAPE) break; case WM_CANCELMODE: case WM_RBUTTONDOWN: goto ExitLoop; case WM_LBUTTONUP: bAccept = TRUE; goto ExitLoop; default: DispatchMessage (&msg); break; } } ExitLoop: ReleaseCapture(); m_pPressed = FALSE; PerformMouseMove(hWnd, pt); RedrawControl(NULL, FALSE); if (bAccept && bHighlighted) { OnItemClick(pItem); } }
void __stdcall CEXMLDocumentStyleSheetsView::OnEndLabelEdit(long item, BSTR text) { DWORD itemdata; m_treeCtl->GetItemInfo(item, &itemdata, NULL, NULL); if (itemdata) { CComQIPtr<ILCSSStyleRule> styleRule = (IUnknown*)itemdata; if (styleRule) { styleRule->put_selectorText(text); } } else { if (text && wcslen(text) > 0) { DWORD parentitem; m_treeCtl->GetParentItem(item, &parentitem); if (parentitem) { DWORD parentitemdata; m_treeCtl->GetItemInfo(parentitem, &parentitemdata, NULL, NULL); CComQIPtr<ILCSSStyleSheet> styleSheet = (IUnknown*)parentitemdata; if (styleSheet) { CComPtr<ILCSSRuleList> cssRules; styleSheet->get_cssRules(&cssRules); long length; cssRules->get_length(&length); _bstr_t rule = text + _bstr_t(L" {}"); long index; styleSheet->insertRule(rule, length, &index); CComPtr<ILCSSRule> cssrule; cssRules->item(index, &cssrule); // Select the newly inserted rule in the treeview // insertRule() will rebuild the parent list, so we need to do this { DWORD item; m_treeCtl->GetFirstChildItem(parentitem, &item); while (item) { DWORD itemdata; m_treeCtl->GetItemInfo(item, &itemdata, NULL, NULL); CComQIPtr<ILCSSRule> cssrule2 = (IUnknown*)itemdata; if (cssrule2 == cssrule) { m_treeCtl->SetSelectedItem(item); OnItemClick(item); // hm.. maybe this should be called by the above break; } m_treeCtl->GetNextSiblingItem(item, &item); } } } } } else { m_treeCtl->DeleteItem(item); } } }