void CDlgAnswerList::OnPaint() { CPaintDC dc(this); CRect rc; GetClientRect(rc); CBitmap* pOldBmp = memDC.SelectObject(&bitmap); memDC.BitBlt(0,0, rc.Width(), rc.Height(), &bk_normal_dc, 0, 0, SRCCOPY); CString str; CRect Rect; enBtnState state; int i; for(i=0;i<BTN_COUNT;i++) { //绘制背景 str = m_Item[i].chChar; Rect = m_Item[i].rect; state = m_Item[i].nState; DrawItems(&memDC,Rect,state); } //绘制列表 DrawList(&memDC); DrawBtnText(&memDC,g_retTitile,m_csTitile,CGDICommon::Instance()->bigbigfont(), RGB(255,255,255),DT_VCENTER|DT_CENTER); BOOL b = dc.BitBlt(0, 0, rc.Width(), rc.Height(),&memDC,0,0,SRCCOPY); ASSERT(b); memDC.SelectObject(pOldBmp); }
void CList::Draw() { int selected; GUI<int>::GetSetting(this, "selected", selected); DrawList(selected, "sprite", "sprite_selectarea", "textcolor"); }
void CAccountTypes::OnInitialUpdate() { CFormView::OnInitialUpdate(); CLanguage::TranslateDialog(this->m_hWnd, MAKEINTRESOURCE(IDD_ACCOUNT_TYPE)); account_type_head1 = CLanguage::TranslateString(IDS_ACCOUNT_TYPE_HEAD1); account_type_head2 = CLanguage::TranslateString(IDS_ACCOUNT_TYPE_HEAD2); account_type_head3 = CLanguage::TranslateString(IDS_ACCOUNT_TYPE_HEAD3); account_type_head4 = CLanguage::TranslateString(ID_INDICATOR_REC); ListLabels accountTypeLabels[ACCOUNT_TYPES_LEN]= { account_type_head1,100, _T("ID"),20, account_type_head2,180, account_type_head3,60, account_type_head4,60 }; // 初始化 m_nAccountTypeList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES|LVS_EX_TWOCLICKACTIVATE); for (int i=0;i<ACCOUNT_TYPES_LEN;i++) { m_nAccountTypeList.InsertColumn(i,accountTypeLabels[i].title,LVCFMT_LEFT,accountTypeLabels[i].len); } m_nAccountTypeList.SetColumnHide(1, TRUE); DrawList(); }
MainWindow::MainWindow() { mRe = new ReplacementEngine; setupUi(); DrawList(); }
void MainWindow::slUp() { int row = tableWidget->currentRow(); if (row > 0 && row < tableWidget->rowCount()) { GetListFromTable(); mRe->swap(row, row - 1); DrawList(); tableWidget->setCurrentCell(row - 1, 0); } }
void CAccountSort::OnBnClickedButton1() { //添加科目 CAccountAdd *addDlg = new CAccountAdd(); addDlg->DoModal(); if (addDlg->m_bIsSubmint) { CString sql; sql.Format(_T(" INSERT INTO AccountType (NumberID,Title,Display,OrderID) VALUES (%s,'%s','%s',%s) "),addDlg->m_nNumberID,addDlg->m_nTitle,addDlg->m_nDisplay,addDlg->m_nOrderID ); theApp.m_nDatabase->doActionQuery(sql); DrawList(); } }
void MainWindow::slOpenSchema() { QString fnSettings = QFileDialog::getOpenFileName(this, tr("Open Schema File"), "data", tr("XML Files (*.xml)")); if (fnSettings.isNull() || !(fnSettings.length() > 0)) { return; } mRe->readFromFile(fnSettings); DrawList(); }
void Redraw() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); // Reset The Current Modelview Matrix if (!bOrbit) { center[0] = eye[0] + eye_radium *(float(sin(double(M_PI*eye_angle_1 / 180)))); center[1] = eye[1] + eye_radium *(float(cos(double(M_PI*eye_angle_1 / 180)))); center[2] = eye[2] + eye_radium *(float(sin(double(M_PI*eye_angle_2 / 180)))); gluLookAt(eye[0], eye[1], eye[2], center[0], center[1], center[2], 0, 0, 1); } else if (bOrbit) { if (eye_angle_1 == 359.98) eye_angle_1 = 0; else eye_angle_1 += 0.02; eye[0] = (-1) * 14 * (float(sin(double(M_PI*eye_angle_1 / 180)))); eye[1] = (-1) * 14 * (float(cos(double(M_PI*eye_angle_1 / 180)))); center[0] = (-1) * 6 * (float(sin(double(M_PI*eye_angle_1 / 180)))); center[1] = (-1) * 6 * (float(cos(double(M_PI*eye_angle_1 / 180)))); gluLookAt(eye[0], eye[1], eye[2], center[0], center[1], center[2], 0, 0, 1); } glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); glEnable(GL_DEPTH_TEST); DrawList(); // Draw Static Objects DrawScene(); // Draw Dynamic Objects static GLdouble points[][3] = { {-10, 49, 0}, {10, 49, 0}, {10, 49, 20}, {-10, 49, 20} }; gif.Display(points[0], points[1], points[2], points[3]); if (dyn1.if_rotate()) { dyn1.angle_change(); } dyn1.draw(); light0.enable(); light1.enable(); light2.enable(); light3.enable(); light4.enable(); glutSwapBuffers(); }
// Activation int ActivateList(Widget *w) { SDL_Surface *scr = w->construct->scr; wTHEME *t = w->construct->theme; ListArgs *args = w->args; args->isActive = 1; wMENU *m = args->menu; int ok = ACTION_CONTINUE; int db = w->displayBounds; do { DrawList(w); SDL_Flip(scr); wait_key_pressed(); if (K_CLICK() && args->menu->nItems) { int ws = nSDL_GetStringWidth(t->font, m->title); int xw = (w->bounds.w*3)/5; if (!m->title) xw = w->bounds.w - 6; else if (xw + ws + 9 > w->bounds.w) xw = w->bounds.w - ws - 9; int x = w->bounds.x + w->bounds.w - xw - 3; w->displayBounds = -1; ok=OpenMenu(w, m, x+1, 0, xw, w->bounds.y+4); w->displayBounds = db; wDrawBounds(w); if (ok == MENU_QUIT) ok = ACTION_CONTINUE; if (ok != ACTION_CONTINUE) break; while (K_ESC() || K_LEFT() || K_ENTER()); } else if (K_UP() || K_DOWN() || K_LEFT() || K_RIGHT() || K_MENU() || K_TAB() || K_SCRATCHPAD() || K_ENTER()) break; else if (any_key_pressed()) { if ((ok=wExecCallback(w, SIGNAL_KEY)) != ACTION_CONTINUE) break; SDL_Flip(scr); } } while (!K_ESC()); args->isActive = 0; return ok; }
void CAccountSort::OnLvnItemActivateAccountTypeList(NMHDR *pNMHDR, LRESULT *pResult) { LPNMITEMACTIVATE pNMIA = reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR); // 修改科目 *pResult = 0; pNMIA->iItem; CString selectItem = m_nAccountTypeList.GetItemText(pNMIA->iItem,1); CRecordset *m_pSet; CString sql,tmpStr,currentID; CAccountAdd *addDlg = new CAccountAdd(); sql.Format(_T(" WHERE AccountTypeID = %s "),selectItem); m_pSet = theApp.m_nDatabase->getTableRecordset(_T("AccountType"),sql); if (!m_pSet->IsEOF()) { m_pSet->MoveFirst(); m_pSet->GetFieldValue(_T("NumberID"),tmpStr); addDlg->m_nNumberID=tmpStr; m_pSet->GetFieldValue(_T("Title"),tmpStr); addDlg->m_nTitle=tmpStr; m_pSet->GetFieldValue(_T("Display"),tmpStr); addDlg->m_nDisplay=tmpStr; m_pSet->GetFieldValue(_T("OrderID"),tmpStr); addDlg->m_nOrderID=tmpStr; m_pSet->GetFieldValue(_T("AccountTypeID"),currentID); } m_pSet->Close(); addDlg->m_bUpdateModel=true; addDlg->DoModal(); if (addDlg->m_bIsSubmint) { sql.Format(_T(" UPDATE AccountType SET NumberID=%s,Title='%s',Display='%s',OrderID=%s WHERE AccountTypeID=%s "),addDlg->m_nNumberID,addDlg->m_nTitle,addDlg->m_nDisplay,addDlg->m_nOrderID,currentID); theApp.m_nDatabase->doActionQuery(sql); } DrawList(); }
void MainWindow::slRemoveRow() { int row = tableWidget->currentRow(); if (row != -1) { GetListFromTable(); mRe->removeAt(row); DrawList(); if (tableWidget->rowCount() >= row) { tableWidget->setCurrentCell(row, 0); } } qDebug() << tableWidget->rowCount(); }
static void RemoveCurrentSelection() { FormPtr form = FrmGetActiveForm(); if (FormIsNot(form, FormGroupManagement)) return; ListPtr list = (ListPtr) GetObjectPtr(form, ListGroups); Int16 sel = LstGetSelection(list); if (sel == noListSelection) { ShowMsg("Select a group first."); return; } if (FrmCustomAlert(AlertQuestion, "Do you really wanna remove current selection ?", "", "") == 1) return; RemovePhoneGroup(g_PhoneGroups[sel]); PhoneGroupPtr group = *(g_PhoneGroups.begin() + sel); g_PhoneGroups.erase(g_PhoneGroups.begin() + sel); delete group; DrawList(); }
void CAccountSort::OnBnClickedButton2() { // 删除所选 int nCount = m_nAccountTypeList.GetItemCount(); CString delItem,delString,str; str.Format(_T("确认删除所选? ")); if (AfxMessageBox(str,MB_YESNO)==IDYES) { for (int i=0;i < nCount;i++) { if (m_nAccountTypeList.GetCheck(i)) { delItem=m_nAccountTypeList.GetItemText(i,1); delString.Format(_T(" DELETE FROM AccountType WHERE AccountTypeID=%s "),delItem); theApp.m_nDatabase->doActionQuery(delString); } } // 重绘列表 DrawList(); } }
void EvtMouseList(struct XObj *xobj,XButtonEvent *EvtButton) { XRectangle rect,rectT; XPoint pt; XCharStruct struc; int x1,y1,x2,y2; Window Win1,Win2; unsigned int modif; int In=1; static XEvent event; int asc,desc,dir; int NbVisCell,NbCell,HeightCell,NPosCell,PosMouse; fd_set in_fdset; pt.x=EvtButton->x-xobj->x; pt.y=EvtButton->y-xobj->y; /* Clic dans une cellule */ rect.x=4+BdWidth; rect.y=rect.x; rect.width=xobj->width-rect.x-10-2*BdWidth-SbWidth; rect.height=xobj->height-rect.y-4-2*BdWidth; if(PtInRect(pt,rect)) { /* Determination de la cellule */ pt.y=pt.y-rect.y; XTextExtents(xobj->xfont,"lp",strlen("lp"),&dir,&asc,&desc,&struc); NPosCell=xobj->value2+(pt.y/(asc+desc+3)); if (NPosCell>CountOption(xobj->title)) NPosCell=0; if (NPosCell!=xobj->value) { xobj->value=NPosCell; DrawList(xobj); } /* if (IsItDoubleClic(xobj)) SendMsg(xobj,DoubleClic); else*/ SendMsg(xobj,SingleClic); return ; } XTextExtents(xobj->xfont,"lp",strlen("lp"),&dir,&asc,&desc,&struc); HeightCell=asc+desc+3; NbVisCell=(xobj->height-6-BdWidth)/HeightCell; NbCell=CountOption(xobj->title); /* Clic fleche haute asc vertical */ rect.y=5+BdWidth; rect.x=xobj->width-(6+BdWidth)-SbWidth+3; rect.height=12; rect.width=12; if(PtInRect(pt,rect)) { DrawVSbList(xobj,NbCell,NbVisCell,1); do { XQueryPointer(xobj->display,*xobj->ParentWin,&Win1,&Win2,&x1,&y1,&x2,&y2,&modif); pt.y=y2-xobj->y; pt.x=x2-xobj->x; if (PtInRect(pt,rect)) { if (In) { Wait(8); xobj->value2--; if (xobj->value2<1) xobj->value2=1; else { DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); DrawVSbList(xobj,NbCell,NbVisCell,1); } } else { In=1; DrawVSbList(xobj,NbCell,NbVisCell,1); xobj->value2--; if (xobj->value2<1) xobj->value2=1; else DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); } } else { if (In) { In=0; DrawVSbList(xobj,NbCell,NbVisCell,0); } } FD_ZERO(&in_fdset); FD_SET(x_fd,&in_fdset); select(32, &in_fdset, NULL, NULL, NULL); } while (!XCheckTypedEvent(xobj->display,ButtonRelease,&event)); DrawVSbList(xobj,NbCell,NbVisCell,0); return; } /* Clic flache basse asc vertical */ rect.y=xobj->height-2*BdWidth-16; if(PtInRect(pt,rect)) { DrawVSbList(xobj,NbCell,NbVisCell,2); do { XQueryPointer(xobj->display,*xobj->ParentWin,&Win1,&Win2,&x1,&y1,&x2,&y2,&modif); pt.y=y2-xobj->y; pt.x=x2-xobj->x; if (PtInRect(pt,rect)) { if (In) { Wait(8); if (xobj->value2<=NbCell-NbVisCell) { xobj->value2++; DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); DrawVSbList(xobj,NbCell,NbVisCell,2); } } else { In=1; DrawVSbList(xobj,NbCell,NbVisCell,2); if (xobj->value2<=NbCell-NbVisCell) { xobj->value2++; DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); } } } else { if (In) { In=0; DrawVSbList(xobj,NbCell,NbVisCell,0); } } FD_ZERO(&in_fdset); FD_SET(x_fd,&in_fdset); select(32, &in_fdset, NULL, NULL, NULL); } while (!XCheckTypedEvent(xobj->display,ButtonRelease,&event)); DrawVSbList(xobj,NbCell,NbVisCell,0); return; } /* clic sur la zone pouce de l'ascenseur de l'ascenseur */ rect.y=17+BdWidth; rect.x=xobj->width-(6+BdWidth)-SbWidth+2; rect.height=xobj->height-rect.y-19-2*BdWidth; rect.width=SbWidth; if(PtInRect(pt,rect)) { /* Clic dans le pouce */ rectT.x=rect.x; rectT.y=rect.y+(xobj->value2-1)*(rect.height-8)/NbCell; if (NbVisCell<NbCell) rectT.height=NbVisCell*(rect.height-8)/NbCell+8; rectT.width=rect.width; if(PtInRect(pt,rectT)) { PosMouse=pt.y-rectT.y-HeightCell/2+2; do { XQueryPointer(xobj->display,*xobj->ParentWin,&Win1,&Win2,&x1,&y1,&x2,&y2,&modif); /* Calcul de l'id de la premiere cellule */ pt.y=y2-xobj->y-PosMouse; NPosCell=(pt.y-rect.y)*NbCell/(rect.height); if (NPosCell<1) NPosCell=1; if (NbCell>NbVisCell) { if (NPosCell>(NbCell-NbVisCell+1)) NPosCell=NbCell-NbVisCell+1; } else NPosCell=1; if (xobj->value2!=NPosCell) { xobj->value2=NPosCell; DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); DrawVSbList(xobj,NbCell,NbVisCell,0); } FD_ZERO(&in_fdset); FD_SET(x_fd,&in_fdset); select(32, &in_fdset, NULL, NULL, NULL); } while (!XCheckTypedEvent(xobj->display,ButtonRelease,&event)); } else if (pt.y<rectT.y) { NPosCell=xobj->value2-NbVisCell; if (NPosCell<1) NPosCell=1; if (xobj->value2!=NPosCell) { xobj->value2=NPosCell; DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); DrawVSbList(xobj,NbCell,NbVisCell,0); } } else if (pt.y>rectT.y+rectT.height) { NPosCell=xobj->value2+NbVisCell; if (NbCell>NbVisCell) { if (NPosCell>(NbCell-NbVisCell+1)) NPosCell=NbCell-NbVisCell+1; } else NPosCell=1; if (xobj->value2!=NPosCell) { xobj->value2=NPosCell; DrawCellule(xobj,NbCell,NbVisCell,HeightCell,asc); DrawVSbList(xobj,NbCell,NbVisCell,0); } } } }
void CDropDown::Draw() { if (!GetGUI()) return; float bz = GetBufferedZ(); float dropdown_size, button_width; GUI<float>::GetSetting(this, "dropdown_size", dropdown_size); GUI<float>::GetSetting(this, "button_width", button_width); CGUISpriteInstance *sprite, *sprite2, *sprite2_second; int cell_id, selected=0; CColor color; GUI<CGUISpriteInstance>::GetSettingPointer(this, "sprite", sprite); GUI<CGUISpriteInstance>::GetSettingPointer(this, "sprite2", sprite2); GUI<int>::GetSetting(this, "cell_id", cell_id); GUI<int>::GetSetting(this, "selected", selected); GUI<CColor>::GetSetting(this, "textcolor", color); bool enabled; GUI<bool>::GetSetting(this, "enabled", enabled); GetGUI()->DrawSprite(*sprite, cell_id, bz, m_CachedActualSize); if (button_width > 0.f) { CRect rect(m_CachedActualSize.right-button_width, m_CachedActualSize.top, m_CachedActualSize.right, m_CachedActualSize.bottom); if (!enabled) { GUI<CGUISpriteInstance>::GetSettingPointer(this, "sprite2_disabled", sprite2_second); GetGUI()->DrawSprite(GUI<>::FallBackSprite(*sprite2_second, *sprite2), cell_id, bz+0.05f, rect); } else if (m_Open) { GUI<CGUISpriteInstance>::GetSettingPointer(this, "sprite2_pressed", sprite2_second); GetGUI()->DrawSprite(GUI<>::FallBackSprite(*sprite2_second, *sprite2), cell_id, bz+0.05f, rect); } else if (m_MouseHovering) { GUI<CGUISpriteInstance>::GetSettingPointer(this, "sprite2_over", sprite2_second); GetGUI()->DrawSprite(GUI<>::FallBackSprite(*sprite2_second, *sprite2), cell_id, bz+0.05f, rect); } else GetGUI()->DrawSprite(*sprite2, cell_id, bz+0.05f, rect); } if (selected != -1) // TODO: Maybe check validity completely? { // figure out clipping rectangle CRect cliparea(m_CachedActualSize.left, m_CachedActualSize.top, m_CachedActualSize.right-button_width, m_CachedActualSize.bottom); CPos pos(m_CachedActualSize.left, m_CachedActualSize.top); DrawText(selected, color, pos, bz+0.1f, cliparea); } bool *scrollbar=NULL, old; GUI<bool>::GetSettingPointer(this, "scrollbar", scrollbar); old = *scrollbar; if (m_Open) { if (m_HideScrollBar) *scrollbar = false; DrawList(m_ElementHighlight, "sprite_list", "sprite_selectarea", "textcolor"); if (m_HideScrollBar) *scrollbar = old; } }
static void ListAllGroups() { LoadPhoneGroups(g_PhoneGroups); DrawList(); }
BOOL CAccountSort::OnInitDialog() { CDialog::OnInitDialog(); m_nAccountTypeList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_CHECKBOXES|LVS_EX_HEADERDRAGDROP|LVS_EX_GRIDLINES|LVS_EX_TWOCLICKACTIVATE); for (int i=0;i<ACCOUNT_TYPE_LEN;i++) { m_nAccountTypeList.InsertColumn(i,accountTypeLabel[i].title,LVCFMT_LEFT,accountTypeLabel[i].len); } m_nAccountTypeList.SetColumnHide(1, TRUE); DrawList(); // TODO: 在此添加额外的初始化 //m_nToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP // | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC // ); //HWND hDlg=GetSafeHwnd(); //CWnd *wDlg = GetWindow(GW_CHILD); //HINSTANCE hInstance=AfxGetInstanceHandle(); //TBBUTTON ptoolbar[30]={ //{0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0}, //{STD_FILENEW, //指定Windows的标准帮助图标 //ID_BUTTON32773, //工具条按钮的ID //TBSTATE_ENABLED, //可用状态 //TBSTYLE_BUTTON, //指定创建一个可以下按的按钮 //0, //保留,由应用程序定义该参数意义 //0}, //按钮字串索引 // //创建一个分割按钮用的竖线 //{0,0,TBSTATE_ENABLED,TBSTYLE_SEP,0,0}, //{STD_FILESAVE,ID_BUTTON32773,TBSTATE_ENABLED,TBSTYLE_BUTTON,0,0} //}; //HWND hToolsWindow=::CreateToolbarEx(hDlg, //指定对话框为父窗口,将工具条创建在对话框上 // WS_CHILD|WS_VISIBLE|TBSTYLE_WRAPABLE|TBSTYLE_TOOLTIPS| // TBSTYLE_FLAT|CCS_ADJUSTABLE,//指定工具条的创建风格 // IDR_ACCOUNT_TYPE_TOOLBAR,//预定义的工具条资源ID // 30,HINST_COMMCTRL, //包含图片资源的可执行文件的实例句柄 // IDB_STD_SMALL_COLOR,//图片的资源ID // ptoolbar, //待添加的按钮 // 6, //加入到工具条的按钮的个数 // 0,0,0,0,sizeof(TBBUTTON)); //m_nToolBar.CreateEx(wDlg,TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP // | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC); //m_nToolBar.LoadToolBar(IDR_ACCOUNT_TYPE_TOOLBAR); //m_nToolBar.LoadBitmapW(IDR_ACCOUNT_TYPE_TOOLBAR); //CBitmap bitmap; //CImageList imageList; //TBBUTTON m_button[13]; //bitmap.LoadBitmap(IDR_ACCOUNT_TYPE_TOOLBAR); //imageList.Create(16,16,ILC_COLORDDB|ILC_MASK,13,1); //imageList.Add(&bitmap,RGB(255,0,255)); //RECT rect; //rect.top=0; //rect.left=0; //rect.right=20; //rect.bottom=20; //m_nToolBar.Create(WS_CHILD|WS_VISIBLE|CCS_TOP|TBSTYLE_TOOLTIPS|CCS_ADJUSTABLE ,rect,this,0); //m_nToolBar.SendMessage(TB_SETIMAGELIST,0,(LPARAM)imageList.m_hImageList); //imageList.Detach(); //bitmap.Detach(); //int buttonbitmap=m_nToolBar.AddBitmap(3,IDR_ACCOUNT_TYPE_TOOLBAR); //int ncount=0; //for(ncount=0;ncount<3;ncount++) //{ // m_button[ncount].iBitmap=buttonbitmap+ncount; // m_button[ncount].idCommand=ncount; // m_button[ncount].fsState=TBSTATE_ENABLED; // m_button[ncount].fsStyle=TBSTYLE_BUTTON; // m_button[ncount].dwData=0; //} //m_nToolBar.AddButtons(ncount,m_button); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE }