コード例 #1
0
ファイル: SideBar.cpp プロジェクト: SZ-whf/Depthmap
void CSideBar::SetAttributeChecks()
{
   MetaGraph *graph = m_treeDoc->m_meta_graph;
   if (graph == NULL) {
      return;
   }
   CListCtrl& list = GetListCtrl();

   if (graph->viewingProcessed()) {
            
      int displayed_attribute = graph->getDisplayedAttribute();

      LVITEM item;
      for (int i = 0; i < list.GetItemCount(); i++) {
         item.iItem = i;
         item.iSubItem = 0;
         item.iImage = 0;
         item.mask = LVIF_IMAGE;
         list.GetItem(&item);
         int image = item.iImage;
         if ((i-1) == displayed_attribute) {
            if (!m_attribute_locked[i]) {
               image = 0;
            }
            else {
               image = 2;
            }
         }
         else {
            if (!m_attribute_locked[i]) {
               image = 1;
            }
            else {
               image = 3;
            }
         }
         if (item.iImage != image) {
            item.iImage = image;
            list.SetItem(&item);
         }
      }
   }
}
コード例 #2
0
ファイル: StageView.cpp プロジェクト: ProfessorKaos64/tdm
/**
* Called when a stage is moved
* @param pMaterial The material that was deleted.
* @param from The from index
* @param to The to index
*/
void StageView::MV_OnMaterialStageMove(MaterialDoc* pMaterial, int from, int to) {

	if(!internalChange) {
		from++;
		to++;

		CListCtrl& list = GetListCtrl();

		char szLabel[256];
		LV_ITEM lvi;
		ZeroMemory(&lvi, sizeof(LV_ITEM));
		lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_STATE | LVIF_PARAM;
		lvi.stateMask = LVIS_DROPHILITED | LVIS_FOCUSED | LVIS_SELECTED;
		lvi.pszText = szLabel;
		lvi.iItem = from;
		lvi.cchTextMax = 255;
		list.GetItem(&lvi);

		//Delete the original item
		list.DeleteItem(from);

		//Insert the item
		lvi.iItem = to;
		list.InsertItem(&lvi);

		int type = -1;

		int stageType = currentMaterial->GetAttributeInt(to-1, "stagetype");
		switch(stageType) {
				case MaterialDoc::STAGE_TYPE_NORMAL:
					type = MaterialDefManager::MATERIAL_DEF_STAGE;
					break;
				case MaterialDoc::STAGE_TYPE_SPECIALMAP:
					type = MaterialDefManager::MATERIAL_DEF_SPECIAL_STAGE;
					break;
		}

		m_propView->SetPropertyListType(type, to-1);

		Invalidate();

	}
}
コード例 #3
0
ファイル: LeftView.cpp プロジェクト: zephyrer/activelog
CString CLeftView::GetHeaderState(void)
{
	CString szHeader;
	CListCtrl& ctlList = (CListCtrl&) GetListCtrl();
	CHeaderCtrl* pHeaderCtrl = ctlList.GetHeaderCtrl();

	HDITEM hdi;
	int   nCount = pHeaderCtrl->GetItemCount();
	for(int i = 0; i < nCount; i++)
	{
		hdi.mask = HDI_WIDTH;
		pHeaderCtrl->GetItem(i, &hdi);
		CString szWidth;
		szWidth.Format( _T("%d,"), hdi.cxy);
		szHeader.Append( szWidth ) ;
	}

	return szHeader;
}
コード例 #4
0
ファイル: LeftView.cpp プロジェクト: zephyrer/activelog
void CLeftView::OnSelChanged (NMHDR* pNMHDR, LRESULT* pResult)
{
	NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
	     
	if ((pNMListView->uChanged & LVIF_STATE) &&
	   (pNMListView->uNewState & LVIS_SELECTED)) {
	    
		CListCtrl& ctlList = (CListCtrl&) GetListCtrl();
		DWORD nIndex = (DWORD) ctlList.GetItemData(pNMListView->iItem);
		
		// send onupdate event with param 
		CALDoc* pDoc = GetDocument();
		ASSERT_VALID(pDoc);
		pDoc->UpdateAllViews(this, nIndex, NULL);
	}
 
	// Why in some code samples this set to zero ??
	*pResult = 0;
}
コード例 #5
0
void CGldEditorView::LoadGlobals(void)
{
	CListCtrl &list = GetListCtrl();
	
	int nColumns = list.GetHeaderCtrl()?list.GetHeaderCtrl()->GetItemCount():0;
	for (int i=0; i<nColumns; i++)
		list.DeleteColumn(0);

	CRect wr;
	list.GetClientRect(&wr);
	int nCol=0;
	int nWid=0;
	#define W(X) (nWid+=X,X)
	int Name = list.InsertColumn(nCol++,"Name",LVCFMT_LEFT,W(150),nCol);
	int Module = list.InsertColumn(nCol++,"Module",LVCFMT_LEFT,W(150),nCol);
	int Type = list.InsertColumn(nCol++,"Type",LVCFMT_LEFT,W(100),nCol);
	int Access = list.InsertColumn(nCol++,"Access",LVCFMT_LEFT,W(150),nCol);
	int Data = list.InsertColumn(nCol++,"Data",LVCFMT_LEFT,wr.Width()-nWid,nCol);
	#undef W

	GLOBALVAR *var = NULL;
	while ((var=global_getnext(var))!=NULL)
	{
		char modname[1024], varname[1024];
		int nItem = list.InsertItem(list.GetItemCount(),var->name);
		char buffer[1024]="";

		if (sscanf(var->name,"%[^:]::%s", modname, varname)==2)
		{
			list.SetItemText(nItem,Name,varname);
			list.SetItemText(nItem,Module,modname);
		}

		list.SetItemText(nItem,Type,class_get_property_typename(var->prop->ptype));

		convert_from_enumeration(buffer,sizeof(buffer),&(var->prop->access),object_access_property());
		list.SetItemText(nItem,Access,buffer);

		global_getvar(var->name,buffer,sizeof(buffer));
		list.SetItemText(nItem,Data,buffer);
	}
}
コード例 #6
0
void RightListView::OnInitialUpdate()
{
	CListView::OnInitialUpdate();
	const int numofColumn=7;
	int i;
	CString m_ColumnLabelStr[numofColumn]={"Frequence(lp/mm)","MTF(T)","MTF(S)","LSF(T)","LSF(S)","POS(t)","POS(s)"};
	CListCtrl& listctrl=GetListCtrl();
	listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_UNDERLINEHOT);
	int ColumnWidth[numofColumn]={140,100,100,100,100,100,100};
	for(i=0;i<numofColumn;i++)
	{
		listctrl.InsertColumn(i,m_ColumnLabelStr[i],LVCFMT_LEFT,ColumnWidth[i]);
	}
	
	CBackgroundWnd* FrameWndPoint=(CBackgroundWnd*)(GetParentFrame());
	int arraylen=FrameWndPoint->getarraylength();
	double* dpfreq=FrameWndPoint->getdFreq();
	double* dpmtft=FrameWndPoint->getdMTFt();
	double* dpmtfs=FrameWndPoint->getdMTFs();
	double* dplsft=FrameWndPoint->getdLSFt();
	double* dplsfs=FrameWndPoint->getdLSFs();
	double* dppost=FrameWndPoint->getdPOSt();
	double* dpposs=FrameWndPoint->getdPOSs();
	char insertbuffer[100];
	for(i=0;i<arraylen;i++)
	{
		sprintf(insertbuffer,"%.4lf",dpfreq[i]);
		listctrl.InsertItem(i,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dpmtft[i]);
		listctrl.SetItemText(i,1,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dpmtfs[i]);
		listctrl.SetItemText(i,2,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dplsft[i]);
		listctrl.SetItemText(i,3,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dplsfs[i]);
		listctrl.SetItemText(i,4,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dppost[i]);
		listctrl.SetItemText(i,5,insertbuffer);
		sprintf(insertbuffer,"%.4lf",dpposs[i]);
		listctrl.SetItemText(i,6,insertbuffer);
	}
}
コード例 #7
0
ファイル: RuleListView.cpp プロジェクト: 340211173/hf-2011
int CRuleListView::RefreshAdapter(CAdapterInfo *pAdapterInfo)
{
    CListCtrl& listView = GetListCtrl();
    
    int nIndex = 0;
    CHAR szIndex[10];
    RtlZeroMemory(szIndex, sizeof(szIndex));
    
    // VirtualAdapterName
    _stprintf(szIndex, _T("%d"), nIndex + 1);
    
    listView.InsertItem(nIndex, szIndex);
    
    listView.SetItemText(nIndex, 1, _T("VirtualAdapterName"));
    listView.SetItemText(nIndex, 2, pAdapterInfo->m_strVirtualAdapterName);
    
    // LowerAdapterName
    _stprintf(szIndex, _T("%d"), ++nIndex + 1);
    
    listView.InsertItem(nIndex, szIndex);
    
    listView.SetItemText(nIndex, 1, _T("LowerAdapterName"));
    listView.SetItemText(nIndex, 2, pAdapterInfo->m_strLowerAdapterName);
    
    // FriendlyAdapterName
    _stprintf(szIndex, _T("%d"), ++nIndex + 1);
    
    listView.InsertItem(nIndex, szIndex);
    
    listView.SetItemText(nIndex, 1, _T("FriendlyAdapterName"));
    listView.SetItemText(nIndex, 2, pAdapterInfo->m_strFriendlyAdapterName);

    // FriendlyAdapterName
    _stprintf(szIndex, _T("%d"), ++nIndex + 1);
    
    listView.InsertItem(nIndex, szIndex);
    
    listView.SetItemText(nIndex, 1, _T("PhysicalAddress"));
    listView.SetItemText(nIndex, 2, pAdapterInfo->m_strAdapterMacAddress);
    
    return nIndex;
}
コード例 #8
0
void CTblInfoView::UpdateListInfo(CString strTblName)
{
    if (m_Operation != OP_NONE)
    {
        AfxMessageBox("请先提交操作");
        return;
    }

    //just need to set the header.
    static CMainFrame* pMainFrame = reinterpret_cast<CMainFrame*>(AfxGetMainWnd());
    static CListCtrl &ctrl        = GetListCtrl();
    CHeaderCtrl *pHeader          = ctrl.GetHeaderCtrl(); 
    CNetWork *pNet                = &pMainFrame->m_Nets;
    
    int nCount = pHeader->GetItemCount();
    int i;
    for (i = 0; i < nCount; i++)
    {
        //pHeader->DeleteItem(0);   bug, should do like this
        ctrl.DeleteColumn(0);
    }

    ctrl.DeleteAllItems();

    //m_map_tbl_cols[strTblName];
    CString strOri  = pNet->GetOriName(strTblName);
    CString strCols = pNet->GetColsForTbl(strOri);
    CString strSub  = _T("");
    for (i = 0; ; i++)
    {
        if (!AfxExtractSubString(strSub, strCols, i, '|')
            || 0 == strSub.GetLength())
        {
            break;
        }
        
        //we use alias
        ctrl.InsertColumn(i, pNet->GetAlias(strSub), LVCFMT_LEFT, 70);
    }

    m_strCurTbl = strOri;
}
コード例 #9
0
// @pymethod <o LV_COLUMN>|PyCListCtrl|GetColumn|Retrieves the details of a column in the control.
PyObject *PyCListCtrl_GetColumn( PyObject *self, PyObject *args )
{
	int col;
	if (!PyArg_ParseTuple( args, "i:GetColumn", 
	                   &col)) // @pyparm int|column||The index of the column whose attributes are to be retrieved.
		return NULL;
	CListCtrl *pList = GetListCtrl(self);
	if (!pList) return NULL;
	TCHAR textBuf[256];
	LV_COLUMN lvItem;
	lvItem.pszText = textBuf;
	lvItem.cchTextMax = sizeof(textBuf)/sizeof(TCHAR);
	lvItem.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	GUI_BGN_SAVE;
	BOOL ok = pList->GetColumn( col, &lvItem);
	GUI_END_SAVE;
	if (!ok)
		RETURN_ERR("GetColumn failed");
	return PyWinObject_FromLV_COLUMN(&lvItem);
}
コード例 #10
0
// @pymethod int|PyCListCtrl|SetImageList|Assigns an image list to a list view control.
PyObject *PyCListCtrl_SetImageList( PyObject *self, PyObject *args )
{
	CListCtrl *pList;
	PyObject *obList;
	int imageType;
	if (!(pList=GetListCtrl(self)))
		return NULL;
	if (!PyArg_ParseTuple(args, "Oi:SetImageList", 
		                  &obList, // @pyparm <o PyCImageList>|imageList||The Image List to use.
						  &imageType )) // @pyparm int|imageType||Type of image list. It can be one of (COMMCTRL.) LVSIL_NORMAL, LVSIL_SMALL or LVSIL_STATE
		return NULL;
	CImageList *pImageList = PyCImageList::GetImageList(obList);
	if (pImageList==NULL) return NULL;
	GUI_BGN_SAVE;
	CImageList *pOldList = pList->SetImageList( pImageList, imageType );
	GUI_END_SAVE;
	if (pOldList==NULL)
		RETURN_NONE;
	return ui_assoc_object::make( PyCImageList::type, pOldList )->GetGoodRet();
}
コード例 #11
0
ファイル: LeftView.cpp プロジェクト: WisemanLim/femos
void CLeftView::UpdateIcon()
{
	int i=0, iCount=0, iGap = 0;
	double dDeviation = 0;
	CFoulerDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if( pDoc->m_sprt.GetReady() == FALSE ) return;
	dDeviation = pDoc->m_sprt.GetDeviation();
	if( dDeviation <= 0 ) return;
	CListCtrl& refCtrl = GetListCtrl();
	iCount = refCtrl.GetItemCount();
	for( i = 0 ; i < iCount ; i++ )
	{
		iGap = (int)( (pDoc->m_pData[i]->GetItem()-pDoc->m_sprt.GetTheta0())/dDeviation );
		iGap = abs(iGap);
		if( iGap > 3 ) iGap = 3;
		refCtrl.SetItem( i, 0, LVIF_IMAGE, NULL, iGap, 0, 0, 0 );
	}
	//refCtrl.Scroll( CSize(100, pDoc->m_iNo*20) );
}
コード例 #12
0
bool CGumpListView::SaveGumpDesc(LPCTSTR szDescFile)
{
	CListCtrl& ctrl = GetListCtrl();

	CStdioFile file;
	if (!file.Open(szDescFile, CFile::modeCreate | CFile::modeWrite)) return false;

	int id = 0;
	LPCTSTR desc;
	for (int i = 0; i < ctrl.GetItemCount(); i++)
	{
		id = ctrl.GetItemData(i);
		desc = GetGumpDesc(id);
		file.WriteString(GfxSprintf("0x%04X=%s\n",id, desc ? desc : ""));
	}

	file.Close();

	return true;
}
コード例 #13
0
// @pymethod int|PyCListCtrl|SetItem|Sets some of all of an items attributes.
PyObject *PyCListCtrl_SetItem( PyObject *self, PyObject *args )
{
	CListCtrl *pList;
	PyObject *obLVItem;
	if (!(pList=GetListCtrl(self)))
		return NULL;
	if (!PyArg_ParseTuple(args, "O:SetItem",
		                 &obLVItem)) // @pyparm <o LV_ITEM>|item||A tuple describing the new item.
		return NULL;
	LV_ITEM lvItem;
	if (!PyWinObject_AsLV_ITEM(obLVItem, &lvItem))
		return NULL;
	GUI_BGN_SAVE;
	BOOL ok = pList->SetItem(&lvItem);
	GUI_END_SAVE;
	PyWinObject_FreeLV_ITEM(&lvItem);
	if (!ok)
		RETURN_ERR("SetItem failed");
	RETURN_NONE;
}
コード例 #14
0
/*
	OnColumnClick()
*/
void CWallBrowserFileView::OnColumnClick(NMHDR* pnmh,LRESULT* /*pResult*/)
{
	NM_LISTVIEW* pnmlv = (NM_LISTVIEW*)pnmh;
	
	switch(pnmlv->iSubItem)
	{
		case 0:
			g_bFileNameAscending = !g_bFileNameAscending;
			break;
		case 1:
			g_bSizeAscending = !g_bSizeAscending;
			break;
		case 2:
			g_bModifiedAscending = !g_bModifiedAscending;
			break;
	}

	g_nSortOrder = pnmlv->iSubItem;
	GetListCtrl().SortItems(CompareFunc,pnmlv->iSubItem);
}
コード例 #15
0
ファイル: LeftView.cpp プロジェクト: WisemanLim/femos
void CLeftView::OnContextMenu(CWnd* pWnd, CPoint point) 
{
	char cStr[64];
	ZeroMemory( cStr, sizeof(cStr) );
	CMenu menu;
	CFoulerDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	menu.CreatePopupMenu();
	CListCtrl& refCtrl = GetListCtrl();
	int iCount = refCtrl.GetSelectedCount();
	if( iCount > 0 )
	{
		wsprintf( cStr, "%d items have been selected", iCount );
		menu.AppendMenu( MF_STRING, NULL, cStr );
		menu.AppendMenu( MF_STRING, ID_EDIT_COPY, "Copy" );
	}
	if( CanPaste() ) menu.AppendMenu( MF_STRING, ID_EDIT_PASTE, "Paste" );
	SetForegroundWindow();
	menu.TrackPopupMenu( TPM_LEFTALIGN, point.x, point.y, this, NULL );
}
コード例 #16
0
// @pymethod int|PyCListCtrl|SetItemData|Sets the item's application-specific value.
PyObject *PyCListCtrl_SetItemData( PyObject *self, PyObject *args )
{
	CListCtrl *pList = GetListCtrl(self);
	if (!pList) return NULL;
	int item;
	PyObject *data;
	if (!PyArg_ParseTuple( args, "iO:SetItemData", 
		                   &item, // @pyparm int|item||Index of the item whose Data is to be set.
						   &data)) // @pyparm object|Data||New value for the data.
		return NULL;
	if (data==Py_None) data = NULL;
	GUI_BGN_SAVE;
	BOOL ok = pList->SetItemData(item, (DWORD_PTR)data);
	GUI_END_SAVE;
	if (!ok)
		RETURN_ERR("SetItemData failed");
	// @comm Note that a reference count is not added to the object.  This it is your
	// responsibility to make sure the object remains alive while in the list.
	RETURN_NONE;
}
コード例 #17
0
void CFairyPackerView::OnEditDelete()
{
    // TODO: 在此添加命令处理程序代码
    CListCtrl& lc = GetListCtrl();
    CFairyExplorer* exp = &GetDocument()->m_Explorer;

    bool bRemove = false;
    POSITION pos = lc.GetFirstSelectedItemPosition();
    while( pos )
    {
        int selectIndex = lc.GetNextSelectedItem( pos );
        CFairyExplorer::PKNode* node = (CFairyExplorer::PKNode*)lc.GetItemData( selectIndex );
        if( !node ) continue;
        if( node->strName == "." || node->strName == ".." ) continue;

        if( !bRemove )
        {
            CString info = _T("确定要移除");
			if (!pos)
			{
				info += _T("(");
				info += F_UTF8ToUnicode(node->strName).c_str();
				info += _T(")吗?");
			}
            else
                info += _T("被选择的内容吗?");

            if( MessageBox(info, _T("提示"), MB_YESNO|MB_ICONQUESTION)
                != IDYES )
            {
                return;
            }
        }

        exp->Remove( node->strName );
        bRemove = true;
    }

    if( bRemove )
		m_pDocument->UpdateAllViews( NULL );
}
コード例 #18
0
/**
* Dispalys the popup menu with the appropriate menu items enabled.
*/
void StageView::PopupMenu( CPoint *pt ) {
	//Determine the type of object clicked on
	CListCtrl &list = GetListCtrl();
	ClientToScreen( pt );
	CMenu FloatingMenu;
	VERIFY( FloatingMenu.LoadMenu( IDR_ME_STAGELIST_POPUP ) );
	CMenu *pPopupMenu = FloatingMenu.GetSubMenu( 0 );
	ASSERT( pPopupMenu != NULL );
	POSITION pos = list.GetFirstSelectedItemPosition();
	int nItem = -1;
	if( pos ) {
		nItem = list.GetNextSelectedItem( pos );
	}
	if( nItem <= 0 ) {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_RENAMESTAGE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_DELETESTAGE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_CUT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_COPY, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
	} else {
		MaterialDoc *material = materialDocManager->GetCurrentMaterialDoc();
		if( material->GetAttributeInt( nItem - 1, "stagetype" ) != MaterialDoc::STAGE_TYPE_NORMAL ) {
			pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_RENAMESTAGE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
		}
	}
	MaterialDoc *material = materialDocManager->GetCurrentMaterialDoc();
	if( material->FindStage( MaterialDoc::STAGE_TYPE_SPECIALMAP, "bumpmap" ) >= 0 ) {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_ADDBUMPMAP, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
	}
	if( material->FindStage( MaterialDoc::STAGE_TYPE_SPECIALMAP, "diffusemap" ) >= 0 ) {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_ADDDIFFUSEMAP, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
	}
	if( material->FindStage( MaterialDoc::STAGE_TYPE_SPECIALMAP, "specularmap" ) >= 0 ) {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_ADDSPECULAR, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
	}
	if( materialDocManager->IsCopyStage() ) {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_PASTE, MF_BYCOMMAND | MF_ENABLED );
	} else {
		pPopupMenu->EnableMenuItem( ID_STAGEPOPUP_PASTE, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED );
	}
	pPopupMenu->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt->x, pt->y, &list );
}
コード例 #19
0
ファイル: rlistvw.cpp プロジェクト: jetlive/skiaming
void CRowListView::OnViewStateIcons()
{
	m_bStateIcons =! m_bStateIcons;

	CListCtrl& ListCtrl = GetListCtrl();

	if (m_bStateIcons)
	{
		ListCtrl.SetImageList(&m_StateImageList, LVSIL_STATE);
		ListCtrl.SetItemState(m_nCheckedItem, 0, LVIS_OVERLAYMASK);
	}
	else
	{
		ListCtrl.SetImageList(NULL,LVSIL_STATE);
		if (m_nCheckedItem != -1)
		{
			ListCtrl.SetItemState(m_nCheckedItem,
				INDEXTOOVERLAYMASK(1), LVIS_OVERLAYMASK);
		}
	}
}
コード例 #20
0
void CPakViewFiles::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();
	CListCtrl& lc = GetListCtrl();

	// modify the list control's attributes
	DWORD dwStyle = GetWindowLong(lc.m_hWnd, GWL_STYLE);
	SetWindowLong(lc.m_hWnd, GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) |
		LVS_ALIGNLEFT | LVS_AUTOARRANGE | LVS_REPORT | // LVS_ICON |
  		// LVS_NOITEMDATA | 
		 LVS_SORTASCENDING);

	// add some headers
	
	// 1. name of entry
	lc.InsertColumn(0, "Name", LVCFMT_LEFT, 150, colName);
	// 2. size of entry
	lc.InsertColumn(1, "Size", LVCFMT_RIGHT, 80, colSize);
	// 3. type of entry
	lc.InsertColumn(2, "Type", LVCFMT_LEFT, 180, colType);
}
コード例 #21
0
ファイル: UserView.cpp プロジェクト: zhangruizhru/FeiQ
int CUserView::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CListView::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
    ModifyStyle(0,LVS_REPORT);

	CListCtrl &theCtrl=GetListCtrl();
    theCtrl.InsertColumn(0,"计算机名称",
        LVCFMT_LEFT,100);
    theCtrl.InsertColumn(1,"IP地址",
        LVCFMT_LEFT,100);
    theCtrl.InsertColumn(2,"签名",
        LVCFMT_LEFT,100);

    //检测HeartBeat的定时器
    SetTimer(2,1000*20,NULL);

	return 0;
}
コード例 #22
0
void CTblInfoView::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();
	
    //设置TreeView Style
    LONG lOld = GetWindowLong(GetSafeHwnd(), GWL_STYLE);

    SetWindowLong(GetSafeHwnd(),
                    GWL_STYLE, 
                    lOld 
                    | WS_CHILDWINDOW| WS_VISIBLE | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL |WS_TABSTOP 
                    | LVS_REPORT | LVS_SHAREIMAGELISTS | LVS_ALIGNLEFT 
                    | LVS_NOSORTHEADER 
                    | LVS_EX_FULLROWSELECT
                  );

    GetListCtrl().SetExtendedStyle(WS_EX_LEFT|WS_EX_RIGHTSCROLLBAR|WS_EX_CLIENTEDGE
                                |LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES
                                );
	
}
コード例 #23
0
ファイル: ValueView.cpp プロジェクト: trieck/source
int ValueView::OnCreate(LPCREATESTRUCT lpcs)
{
    if (CListView::OnCreate(lpcs) == -1)
        return -1;

    CListCtrl &list = GetListCtrl();
    list.SetExtendedStyle(/*LVS_EX_GRIDLINES | */LVS_EX_FULLROWSELECT);

    // Add the columns
    int ncols = sizeof(headers) / sizeof(LPCSTR);
    int nwidth = (lpcs->cx / ncols);

    for (int i = 0; i < ncols; i++) {
        list.InsertColumn(i, headers[i], LVCFMT_CENTER,
                          nwidth);
    }

    OnSettingChange(0, 0);

    return 0;
}
コード例 #24
0
ファイル: StageView.cpp プロジェクト: Salamek/Shadow-of-Dust
/**
* Called when the user changes the selection in the list box. This method will notify the
* property view of the change so that it can display the appropriate properties.
*/
void StageView::OnLvnItemchanged(NMHDR *pNMHDR, LRESULT *pResult) {
	LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);

	if(!bDragging) {

		//The state has changed and changed to selected
		if(pNMLV->uChanged && LVIF_STATE && pNMLV->uNewState & LVIS_SELECTED) {

			int type = -1;

			if(pNMLV->iItem >= 0) {
				if(pNMLV->iItem == 0)
					type = MaterialDefManager::MATERIAL_DEF_MATERIAL;
				else {
					int stageType = currentMaterial->GetAttributeInt(pNMLV->iItem-1, "stagetype");
					switch(stageType) {
						case MaterialDoc::STAGE_TYPE_NORMAL:
							type = MaterialDefManager::MATERIAL_DEF_STAGE;
							break;
						case MaterialDoc::STAGE_TYPE_SPECIALMAP:
							type = MaterialDefManager::MATERIAL_DEF_SPECIAL_STAGE;
							break;
					}
				}
			}

			m_propView->SetPropertyListType(type, pNMLV->iItem-1);
		}

		if(pNMLV->uChanged && LVIF_STATE && pNMLV->uOldState & LVIS_SELECTED && !(pNMLV->uNewState & LVIS_SELECTED)) {
			//This item was deselected.
			//If there is no item selected then clear the prop list
			CListCtrl& list = GetListCtrl();
			POSITION pos = list.GetFirstSelectedItemPosition();
			if(!pos)
				m_propView->SetPropertyListType(-1);
		}
	}
	*pResult = 0;
}
コード例 #25
0
ファイル: MyClientMainView.cpp プロジェクト: lzm-cn/PCShare
LPCLIENTITEM CMyClientMainView::InsertItem(LPCLIENTITEM pItem)
{
	//查看客户是否存在
	int nItem = FindItemTitle(pItem->m_SysInfo.ID);
	if(nItem != -1)
	{
		//替换新套接字
		LPCLIENTITEM pFindItem = 
			(LPCLIENTITEM) GetListCtrl().GetItemData(nItem);
		closesocket(pFindItem->m_WorkSocket);
		pFindItem->m_WorkSocket = pItem->m_WorkSocket;
		return pFindItem;
	}

	char m_LogFileName[256] = {0};
	GetModuleFileName(NULL,m_LogFileName,250);
	char *p = strrchr(m_LogFileName,'.');
	*p = 0;
	strcat(m_LogFileName,".log");
	char m_Name[256] = {0};
	GetPrivateProfileString("客户注释",pItem->m_SysInfo.ID,
		pItem->m_SysInfo.m_PcName,m_Name,255,m_LogFileName);

	//增加新客户
	LPCLIENTITEM pClientItem = new CLIENTITEM;
	memcpy(pClientItem,pItem,sizeof(CLIENTITEM));

	if(pClientItem->m_SysInfo.m_UserName[37] == 1)

	{
		nItem = GetListCtrl().InsertItem(
      LVIF_IMAGE | LVIF_PARAM | LVIF_TEXT, 2, pClientItem->m_Title,
      INDEXTOSTATEIMAGEMASK(1), LVIS_STATEIMAGEMASK, 2,(LPARAM) pClientItem);
	}
	else
	{
		nItem = GetListCtrl().InsertItem(
      LVIF_IMAGE | LVIF_PARAM | LVIF_TEXT, 0, pClientItem->m_Title,
      INDEXTOSTATEIMAGEMASK(1), LVIS_STATEIMAGEMASK, 1,(LPARAM) pClientItem);
	}
	GetListCtrl().SetItemText(nItem,1,m_Name);
	int nCount = GetListCtrl().GetItemCount();
	if(nCount == 1)
		GetListCtrl().SetItemState(nItem,LVIS_SELECTED, LVIS_SELECTED);
	OnResizeWnd(0,0);
	return pClientItem;
}
コード例 #26
0
ファイル: StageView.cpp プロジェクト: Salamek/Shadow-of-Dust
/**
* Rebuilds the list of stages based on the currently selected material
*/
void StageView::RefreshStageList() {

	CListCtrl& list = GetListCtrl();

	POSITION pos = list.GetFirstSelectedItemPosition();
	int selectedItem = -1;
	if(pos)
		selectedItem = list.GetNextSelectedItem(pos);

	list.DeleteAllItems();

	if(currentMaterial) {

		//Always add the material item for the main material properties
		list.InsertItem(0, "Material");
		SetToggleState(0, ToggleListView::TOGGLE_STATE_DISABLED);

		//Get the stage info
		int stageCount = currentMaterial->GetStageCount();
		for(int i = 0; i < stageCount; i++) {
			const char* name = currentMaterial->GetAttribute(i, "name");

			int itemNum = list.InsertItem(list.GetItemCount(), name);

			if(currentMaterial->IsStageEnabled(i)) {
				SetToggleState(itemNum, ToggleListView::TOGGLE_STATE_ON);
			} else {
				SetToggleState(itemNum, ToggleListView::TOGGLE_STATE_OFF);
			}
		}

		if(selectedItem < 0) {
			//Select the material
			list.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
		} else {
			list.SetItemState(selectedItem, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
		}
	}
}
コード例 #27
0
/**
* Called as the window is being created and initializes icons and window styles
*/
int ToggleListView::OnCreate(LPCREATESTRUCT lpCreateStruct) {
	if (CListView::OnCreate(lpCreateStruct) == -1)
		return -1;

	CListCtrl& list = GetListCtrl();
	
	list.SetExtendedStyle(LVS_EX_FULLROWSELECT);

	//Turn off the horizontal scroll bar
	//Todo: Figure out why the damn scroll bar pops up
	list.ModifyStyle(WS_HSCROLL, 0L);
	
	
	//Insert the one column
	LVCOLUMN col;
	col.mask = 0;
	list.InsertColumn(0, &col);

	SetToggleIcons();
	
	return 0;
}
コード例 #28
0
//ntype 
// 1 显示组下所有类型的keywords
// 2 显示某种类型的keywords
void CShortcutBarView::ShowListContent(int nType, char* szGroupName)
{
	if (nType == 1)
	{
		sloMysqlAgent::GetInstance()->GetKeyWordsFromGroupName(szGroupName);
	}else if (nType == 2)
	{
		sloMysqlAgent::GetInstance()->GetKeyWordsFromTypeName(szGroupName);
	}

	CListCtrl& rList = GetListCtrl();

	//清空列表
	rList.DeleteAllItems();
	int nCount = sloMysqlAgent::GetInstance()->m_KeywordsList.size();
	for(int i = 0; i < nCount; i++)
	{
		rList.InsertItem(i, NULL, 0);
		rList.SetItemText(i, 2, sloMysqlAgent::GetInstance()->m_KeywordsList[i].szKeyName);
		rList.SetItemText(i, 3, sloMysqlAgent::GetInstance()->m_KeywordsList[i].szDate);	
	}
}
コード例 #29
0
void CBioAPISampleMFCView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
	std::vector<CBioAPISampleMFCDoc::BIR>::iterator I;
	CListCtrl& ListCtrl = GetListCtrl();
	CBioAPISampleMFCDoc* pDoc = GetDocument();
	int i = 0;
	pDoc->Lock();

	I = pDoc->m_BIRs.begin();
	ListCtrl.DeleteAllItems();

	i=0;
	while (I != pDoc->m_BIRs.end() )
	{
		LV_ITEM lvi;
		memset(&lvi, 0, sizeof(lvi));
		lvi.mask = LVIF_TEXT | LVIF_STATE;
		lvi.iItem = i;
		lvi.iSubItem = 0;
		lvi.pszText = (LPTSTR)(LPCTSTR)I->Name;
		lvi.stateMask = LVIS_STATEIMAGEMASK;
		lvi.state = INDEXTOSTATEIMAGEMASK(1);

		ListCtrl.InsertItem(&lvi); // name
		ListCtrl.SetItemText(i, 1, I->Path); // original path
		ListCtrl.SetItemText(i, 2, BIR_GetPurpose(I->bir)); // purpose
		ListCtrl.SetItemText(i, 3, BIR_GetType(I->bir)); // type
		ListCtrl.SetItemText(i, 4, BIR_GetFormat(I->bir)); // format
		ListCtrl.SetItemText(i, 5, BIR_GetDataType(I->bir)); // data type
		ListCtrl.SetItemText(i, 6, BIR_GetState(*I)); // state

		ListCtrl.SetCheck(i, I->selected);

		I++;
		i++;
	}

	pDoc->Unlock();
}
コード例 #30
0
// @pymethod int|PyCListCtrl|GetNextItem|Searches for a list view item with specified properties and with specified relationship to a given item.
PyObject *PyCListCtrl_GetNextItem( PyObject *self, PyObject *args )
{
	int item, flags;
	if (!PyArg_ParseTuple( args, "ii:GetNextItem", 
	                   &item, // @pyparm int|item||Index of the item to begin the searching with, or -1 to find the first item that matches the specified flags. The specified item itself is excluded from the search.
					   &flags)) // @pyparm int|flags||Geometric relation of the requested item to the specified item, 
					            // and the state of the requested item. The geometric relation can be one of these values:
								// <nl>LVNI_ABOVE<nl>LVNI_ALL<nl>LVNI_BELOW<nl>LVNI_TOLEFT<nl>LVNI_TORIGHT<nl>
								// The state can be zero, or it can be one or more of these values:
								// <nl>LVNI_DROPHILITED<nl>LVNI_FOCUSED<nl>LVNI_HIDDEN<nl>LVNI_MARKED<nl>LVNI_SELECTED<nl>
								// If an item does not have all of the specified state flags set, the search continues with the next item.
		return NULL;
	CListCtrl *pList = GetListCtrl(self);
	if (!pList) return NULL;
	GUI_BGN_SAVE;
	int rc = pList->GetNextItem(item, flags);
	GUI_END_SAVE;
	if (rc==(int)-1)
		RETURN_ERR("GetNextItem failed");
	return Py_BuildValue("i",rc);
	// @rdesc Returns an integer index, or raises a win32ui.error exception if not item can be found.
}