void KEditDialogImpl::OnSubmit() { if (m_pNowComp == NULL) { return; } BOOL bIsSet = FALSE; CString strTmp; std::string strCmd; // 不知道有多少属性? for (size_t i = 0; i < ATTRUTE_SIZE; ++i) { m_kEdit[i].GetText(strTmp); strCmd = CW2A(strTmp.GetString()); bIsSet = m_pNowComp->SetCompAttrute(i, strCmd); if (!bIsSet) { break; } } _Redraw(); }
void KEditDialogImpl::OnPalette() { SetFocus(); if (m_uSelItemID != 0) { IComponent* pCompTmp = _CompFactory(); if (pCompTmp != NULL) { m_vecComp.push_back(pCompTmp); SetItemCheck(m_uSelItemID, FALSE); m_uSelItemID = 0; m_pNowComp = pCompTmp; CStringA strPos; CPoint cPoint; _TransfromPoint(m_nowPoint, cPoint); strPos.Format("%d,%d", cPoint.x, cPoint.y); m_pNowComp->SetCompAttrute("pos", strPos.GetString()); } } else if (m_nSelItem == -1) { m_pNowComp = NULL; } _Redraw(); }
void BRadioButton::MouseDown(BPoint point) { if (!IsEnabled()) return; fOutlined = true; if (Window()->Flags() & B_ASYNCHRONOUS_CONTROLS) { Invalidate(); SetTracking(true); SetMouseEventMask(B_POINTER_EVENTS, B_LOCK_WINDOW_FOCUS); } else { _Redraw(); BRect bounds = Bounds(); uint32 buttons; do { snooze(40000); GetMouse(&point, &buttons, true); bool inside = bounds.Contains(point); if (fOutlined != inside) { fOutlined = inside; _Redraw(); } } while (buttons != 0); if (fOutlined) { fOutlined = false; _Redraw(); SetValue(B_CONTROL_ON); Invoke(); } else { _Redraw(); } } }
void KEditDialogImpl::OnMouseMove(UINT nFlags, CPoint point) { if (nFlags == MK_LBUTTON && m_pNowComp != NULL) { _CheckPoint(point); std::string strPos; std::string strLastPos; m_pNowComp->GetCompAttrute("pos", strLastPos); _CalcMovePos(strLastPos, strPos); m_pNowComp->SetCompAttrute("pos", strPos); _Redraw(); } }
void KEditDialogImpl::OnDelete() { if (m_pNowComp != NULL) { for (std::vector<IComponent*>::iterator iter = m_vecComp.begin(); iter != m_vecComp.end(); ++iter) { if (*iter == m_pNowComp) { m_vecComp.erase(iter); m_pNowComp->UninitComp(); delete m_pNowComp; m_pNowComp = NULL; break; } } } _Redraw(); }
void CCandidateWindow::_Update() { if(regwordul || regword) { disptext = _MakeRegWordString(); } if(regwordul) { _dwFlags = TF_CLUIE_COUNT | TF_CLUIE_SELECTION | TF_CLUIE_STRING | TF_CLUIE_PAGEINDEX | TF_CLUIE_CURRENTPAGE; _UpdateUIElement(); } else { if(_hwnd != NULL) { _CalcWindowRect(); _Redraw(); } } }