⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listview.h

📁 一个简单的机器调度模拟程序。根据任务的时长
💻 H
字号:
#include "commctrl.h"

//显示台类,用以将车间信息显示
class ListShow 
{
protected :
//	COLORREF font_color ;
public :
	HWND hWnd ;							//窗口句柄
	int column_num ;					//显示台显示台列数目
	int item_num ;						//显示台显示台行数目
	ListShow ( ) ;						//显示台初始化
	void SetHWND ( HWND h ) ;			//赋予显示台窗口句柄
	//加入列项,项名为:text,长度最大值为len,加入位置在pos,默认显示长度为70(像素)
	void AddColumn ( char * text , int len , int pos = 0 , int width = 70 ) ;
	//创建一个新行,新行的第一个列项内容为text,长度最大值为:len,pos在本次程序不使用,默认为0
	//而且pos必须默认为0,不能使用其他值
	void AddFirstItem ( char * text , int len , int pos = 0  ) ;
	//删除第pos+1列
	void DelColumn ( int pos = 0 ) ;
	//删除第pos+1行
	void DelItem ( int pos = 0 ) ;
	//修改某一项的值,使其为长度为len的text,pItem指定所在行,pos指定所在列
	void AddValueItem ( char * text , int len , int pItem = 0 , int pos = 1 ) ;
};

void ListShow ::SetHWND ( HWND h )
{
	hWnd = h ;
}
ListShow ::ListShow ( )
{
//	font_color = RGB ( 0 , 0 , 0 ) ;
	column_num = 0 ;
	item_num = 0 ;
}

void ListShow ::AddColumn ( char * text , int len , int pos , int width )
{
    LVCOLUMN lvc;  
    // Initialize the LVCOLUMN structure.
    // The mask specifies that the format, width, text, and subitem
    // members of the structure are valid. 
    lvc.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM; 
	//设置显示位置
    lvc.iSubItem = pos ;
	//设置显示文本
    lvc.pszText = text ;	
	lvc.fmt = LVCFMT_CENTER ;  // right-aligned column
	lvc.cx = width ;           // width of column in pixels
	
    if ( ListView_InsertColumn ( hWnd, pos, &lvc ) == -1 )
		return ;
	column_num++ ;

}

void ListShow ::AddFirstItem ( char * text , int len , int pos  )
{
	/*
	if ( pos % 2 != 0 )
		font_color = RGB ( 255 , 0 , 0 ) ;
	else 
		font_color = RGB ( 0 , 0 , 0 ) ;*/
	// Initialize LVITEM members that are common to all items. 
	LVITEM lvI ;
	lvI.mask = LVIF_TEXT | LVIF_STATE | LVIF_PARAM ; 
	lvI.state = 0; 
	lvI.stateMask = 0; 

	// Initialize LVITEM members that are different for each item. 
   	lvI.iItem = pos ;		//设置位置
	lvI.iSubItem = 0 ;		
	lvI.pszText = text;		//设置文本
		
	if ( ListView_InsertItem ( hWnd , &lvI) == -1)
		return ;
	item_num ++ ;
	
}

void ListShow::DelColumn ( int pos )
{
	if ( ListView_DeleteColumn ( hWnd , pos ) == -1 )
		return ;
	column_num -- ;
}
void ListShow ::DelItem ( int pos )
{
	if ( ListView_DeleteItem ( hWnd, pos ) == -1 )
		return ;
	item_num -- ;   
}

void ListShow ::AddValueItem ( char * text , int len , int pItem , int pos )
{
	ListView_SetItemText( hWnd , pItem , pos , text );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -