Ejemplo n.º 1
0
void CTDCTaskListCtrl::SetTasksImageList(HIMAGELIST hil, BOOL bState, BOOL bOn) 
{
	if (bOn)
		ListView_SetImageList(m_lcTasks, hil, (bState ? LVSIL_STATE : LVSIL_SMALL));
	else
		ListView_SetImageList(m_lcTasks, NULL, (bState ? LVSIL_STATE : LVSIL_SMALL));
}
Ejemplo n.º 2
0
BOOL initListViewImageLists() 
{ 
    HIMAGELIST	hILSmall;  // handle cua image list small
	HIMAGELIST	hILLarge;  // handle cua image list large

	// Tao lap cac Image list.
	hILSmall = ImageList_Create(CX_ICON_SMALL, CY_ICON_SMALL, ILC_COLOR32 | ILC_MASK, NUM_ICONS, 1000);
	hILLarge = ImageList_Create(CX_ICON_LARGE, CY_ICON_LARGE, ILC_COLOR32 | ILC_MASK, NUM_ICONS, 1000);

	// Add cac incon vao Image List
//	for(int idx = IDI_ICON1; idx < IDI_ICON1 + NUM_ICONS; idx++)
//	{
//		HICON hIcon = LoadIcon(HInstance, MAKEINTRESOURCE(idx));
//
//        ImageList_AddIcon(hILSmall, hIcon);
//		ImageList_AddIcon(hILLarge, hIcon);
//	}

	// Kiem tra so icon co trong Image list
//	if(ImageList_GetImageCount(hILSmall) < NUM_ICONS || ImageList_GetImageCount(hILLarge) < NUM_ICONS)
//		return FALSE;

	// Gan Image lists cho List View
	ListView_SetImageList(hwndListView, hILSmall, LVSIL_SMALL);
	ListView_SetImageList(hwndListView, hILLarge, LVSIL_NORMAL);

	return TRUE;
}
Ejemplo n.º 3
0
BOOL ZipDlg::OnInitDialog( HWND hDlg, WPARAM wParam, LPARAM lParam)
{
	InitCommonControls();

	// 変数初期化
	hInstance = (HINSTANCE)GetWindowLong( hDlg, GWL_HINSTANCE) ;

	// アイコン設定
	HICON hIcon = LoadIcon( hInstance, MAKEINTRESOURCE( IDI_ICON));
	SendMessage( hDlg, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);
	SendMessage( hDlg, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
	DestroyIcon( hIcon) ;

	// ウインドウハンドル取得
	hwndList	= GetDlgItem( hDlg, IDC_LIST) ;
	hwndOk		= GetDlgItem( hDlg, IDOK) ;
	hwndDel		= GetDlgItem( hDlg, IDC_DEL) ;

	// リスト設定
	SetWindowLong( hwndList, GWL_STYLE, GetWindowLong( hwndList, GWL_STYLE) | LVS_SHAREIMAGELISTS) ;
	DragAcceptFiles( hwndList, TRUE) ;
	ListView_DeleteAllItems( hwndList) ;
	LVCOLUMN lvclm ;
	lvclm.mask	= LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM ;
	lvclm.fmt	= LVCFMT_LEFT ;
	lvclm.pszText	= "ファイル名" ;
	lvclm.cx	= 150 ;
	lvclm.iSubItem	= 0 ;
	ListView_InsertColumn( hwndList, 0, &lvclm); 
	lvclm.mask	= LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM ;
	lvclm.fmt	= LVCFMT_LEFT ;
	lvclm.pszText	= "パス" ;
	lvclm.cx	= 250 ;
	lvclm.iSubItem	= 0 ;
	ListView_InsertColumn( hwndList, 1, &lvclm); 

	SHFILEINFO shfi ;
	HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo( "", 0, &shfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON) ;
	ListView_SetImageList( hwndList, hImageList, LVSIL_SMALL) ;
	hImageList = (HIMAGELIST)SHGetFileInfo( "", 0, &shfi, sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_LARGEICON) ;
	ListView_SetImageList( hwndList, hImageList, LVSIL_NORMAL) ;

	// 初期化
	EnableWindow( hwndDel, FALSE) ;
	EnableWindow( hwndOk, FALSE) ;
	if( Profile::blnOnlyMp3)CheckDlgButton( hDlg, IDC_ONLYMP3, BST_CHECKED) ;
	RECT rc ;
	GetWindowRect( hDlg, &rc) ;
	MoveWindow( hDlg, Profile::intX, Profile::intY, rc.right, rc.bottom, FALSE) ;

	wpcList = (WNDPROC)GetWindowLong( hwndList, GWL_WNDPROC) ;
	if( wpcList)
	{
		SetWindowLong( hwndList, GWL_WNDPROC , (LONG)ListProc) ;
		SetWindowLong( hwndList, GWL_USERDATA, (LONG)this) ;
	}

	return TRUE ;
}
Ejemplo n.º 4
0
//----------------------------------------------------------------------------------------------------------------------
//  INSERT IMAGE LISTS
//----------------------------------------------------------------------------------------------------------------------
void cListViewComputers :: insert_image_lists ( HWND hwnd )
{ 
	HANDLE hStateBlue = 0;
	HANDLE hStateGold = 0;
	HANDLE hStateGray = 0;

	//-----------------------------------
	// INSERT IMAGES IN ORDER
	// 0 == GRAY == NO CONNECTIONS
	// 1 == GOLD == ONE-WAY CONNECTION
	// 2 == BLUE == TWO-WAY CONNECTION
	//-----------------------------------

	HANDLE hDeskStraightGray = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_COMPUTER_GRAY ), 
	 	                      IMAGE_ICON, 85, 73, LR_CREATEDIBSECTION );

	HANDLE hDeskStraightGold = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_COMPUTER_GOLD), // returns 0 on fail
	 	                      IMAGE_ICON, 85, 73, LR_CREATEDIBSECTION | LR_LOADTRANSPARENT );

	HANDLE hDeskStraightBlue = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_COMPUTER_BLUE ), 
	 	                      IMAGE_ICON, 85, 73, LR_CREATEDIBSECTION );


	hStateGray = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_CONNECTION_STATE_GRAY ), 
	 	                      IMAGE_ICON, 16,24, LR_CREATEDIBSECTION );

	hStateGold = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_CONNECTION_STATE_GOLD ), 
	 	                      IMAGE_ICON, 16,24, LR_CREATEDIBSECTION );

	hStateBlue = LoadImage ( g_hInstance, MAKEINTRESOURCE ( IDI_CONNECTION_STATE_BLUE ), 
	 	                      IMAGE_ICON, 16,24, LR_CREATEDIBSECTION );

    hImageListLarge = ImageList_Create ( 85, 73, ILC_MASK | ILC_COLORDDB | ILC_COLOR32, 3, 0 );
	HRESULT iResult = ImageList_AddIcon ( hImageListLarge, (HICON)hDeskStraightGray );
	iResult = ImageList_AddIcon ( hImageListLarge, (HICON)hDeskStraightGold );
	iResult = ImageList_AddIcon ( hImageListLarge, (HICON)hDeskStraightBlue );

	hImageListState = ImageList_Create ( 16, 24, ILC_MASK | ILC_COLORDDB | ILC_COLOR32, 3, 0 );
	iResult = ImageList_AddIcon ( hImageListState, (HICON)hStateGray);
	iResult = ImageList_AddIcon ( hImageListState, (HICON)hStateGold );
	iResult = ImageList_AddIcon ( hImageListState, (HICON)hStateBlue );

	HIMAGELIST hResult = ListView_SetImageList ( hwnd, hImageListLarge, LVSIL_NORMAL ); 
	ListView_SetExtendedListViewStyle ( hwnd, LVS_EX_BORDERSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP );
	hResult = ListView_SetImageList ( hwnd, hImageListState, LVSIL_STATE );
	HWND hHeader = ListView_GetHeader ( hwnd );
	RECT rect;
	GetWindowRect ( hHeader, & rect );
	MoveWindow ( hHeader, rect.left, rect.top, 200, 100, TRUE );
	ShowWindow ( hHeader, SW_NORMAL );
}
Ejemplo n.º 5
0
//=============================================================================
//
//  DirList_Init()
//
//  Initializes the DLDATA structure and sets up the listview control
//
BOOL DirList_Init(HWND hwnd,LPCWSTR pszHeader)
{

  HIMAGELIST hil;
  SHFILEINFO shfi;
  LV_COLUMN  lvc;

  // Allocate DirListData Property
  LPDLDATA lpdl = (LPVOID)GlobalAlloc(GPTR,sizeof(DLDATA));
  SetProp(hwnd,pDirListProp,(HANDLE)lpdl);

  // Setup dl
  lpdl->hwnd = hwnd;
  lpdl->cbidl = 0;
  lpdl->pidl = NULL;
  lpdl->lpsf = NULL;
  lstrcpy(lpdl->szPath,L"");

  // Add Imagelists
  hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),
                    SHGFI_SMALLICON | SHGFI_SYSICONINDEX);

  ListView_SetImageList(hwnd,hil,LVSIL_SMALL);

  hil = (HIMAGELIST)SHGetFileInfo(L"C:\\",0,&shfi,sizeof(SHFILEINFO),
                    SHGFI_LARGEICON | SHGFI_SYSICONINDEX);

  ListView_SetImageList(hwnd,hil,LVSIL_NORMAL);

  // Initialize default icons - done in DirList_Fill()
  //SHGetFileInfo(L"Icon",FILE_ATTRIBUTE_DIRECTORY,&shfi,sizeof(SHFILEINFO),
  //  SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
  //lpdl->iDefIconFolder = shfi.iIcon;

  //SHGetFileInfo(L"Icon",FILE_ATTRIBUTE_NORMAL,&shfi,sizeof(SHFILEINFO),
  //  SHGFI_USEFILEATTRIBUTES | SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
  //lpdl->iDefIconFile = shfi.iIcon;

  lpdl->iDefIconFolder = 0;
  lpdl->iDefIconFile = 0;

  // Icon thread control
  lpdl->hExitThread = CreateEvent(NULL,TRUE,FALSE,NULL);
  lpdl->hTerminatedThread = CreateEvent(NULL,TRUE,TRUE,NULL);

  lvc;
  pszHeader;

  return TRUE;

}
Ejemplo n.º 6
0
BOOL InitListViewImageLists(HWND hWndListView) 
{ 
    HICON hiconItem;     // Icon for list-view items.
    HIMAGELIST hLarge;   // Image list for icon view.
    HIMAGELIST hSmall;   // Image list for other views.

    // Create the full-sized icon image lists. 
    hLarge = ImageList_Create(25, 
                              25, 
                              ILC_COLORDDB | ILC_MASK, 2, 1); 

    hSmall = ImageList_Create(25, 
                              25, 
                              ILC_COLORDDB | ILC_MASK, 2, 1); 
    
    // Add an icon to each image list.  
    //hiconItem = LoadIcon(g_hInstance, TEXT("haha1"));
    ImageList_AddIcon(hLarge, hiconItem);
    ImageList_AddIcon(hSmall, hiconItem);
    DestroyIcon(hiconItem);
    //hiconItem = LoadIcon(g_hInstance, TEXT("haha2"));
    ImageList_AddIcon(hLarge, hiconItem);
    ImageList_AddIcon(hSmall, hiconItem);

    DestroyIcon(hiconItem);



 
// When you are dealing with multiple icons, you can use the previous four lines of 
// code inside a loop. The following code shows such a loop. The 
// icons are defined in the application's header file as resources, which 
// are numbered consecutively starting with IDS_FIRSTICON. The number of 
// icons is defined in the header file as C_ICONS.
/*    
    for(index = 0; index < C_ICONS; index++)
    {
        hIconItem = LoadIcon (g_hinst, MAKEINTRESOURCE(IDS_FIRSTICON + index));
        ImageList_AddIcon(hSmall, hIconItem);
        ImageList_AddIcon(hLarge, hIconItem);
        Destroy(hIconItem);
    }
*/
    
    // Assign the image lists to the list-view control. 
    ListView_SetImageList(hWndListView, hLarge, LVSIL_NORMAL); 
    ListView_SetImageList(hWndListView, hSmall, LVSIL_SMALL); 
    
    return TRUE; 
}
Ejemplo n.º 7
0
void InitListViewColumns( HWND hListView, const LISTVIEW_COLUMN * Cols, int numColumns, long style )
{
	HKEY	hKey;
	DWORD	valLength;
	TCHAR	colName[32];
	RECT	rc;

	// Get window sizes
	rc.left = -1;
	rc.top = -1;
	RegCreateKey(HKEY_CURRENT_USER, _T("Software\\Sysinternals\\ShareEnum"), &hKey );
	valLength = sizeof(DWORD);
	RegQueryValueEx( hKey, _T("x"), NULL, NULL, (LPBYTE) &rc.left,
			&valLength );
	RegQueryValueEx( hKey, _T("y"), NULL, NULL, (LPBYTE) &rc.top,
			&valLength );
	RegQueryValueEx( hKey, _T("w"), NULL, NULL, (LPBYTE) &rc.right,
			&valLength );
	RegQueryValueEx( hKey, _T("h"), NULL, NULL, (LPBYTE) &rc.bottom,
			&valLength );
	if( rc.left != -1 && rc.top != -1 ) 
		MoveWindow( GetParent( hListView), rc.left, rc.top, rc.right, rc.bottom, TRUE );

	// Set listview styles
	ListView_SetExtendedListViewStyleEx( hListView, style, style );

	// Create columns
	for ( int i = 0; i < numColumns; ++i )  {
		LVCOLUMN	col = { 0 };
		col.mask	= LVCF_TEXT | LVCF_WIDTH;
		col.pszText	= (TCHAR *)Cols[i].Title;
		col.cx		= Cols[i].Width;

		_stprintf( colName, _T("Column%d"), i );

		DWORD val = -1;
		valLength = sizeof(DWORD);
		RegQueryValueEx( hKey,colName, NULL, NULL, (LPBYTE) &val, &valLength );
		if ( val < 600 )
			col.cx = val;
		ListView_InsertColumn( hListView, i, &col );
	}
	RegCloseKey( hKey );

	HINSTANCE hInstance = GetModuleHandle(NULL);
	// Create image list (order corresponds to LISTVIEW_IMG_* enumeration)
	HIMAGELIST	hImageList	= ImageList_Create( GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), ILC_COLORDDB, 10, 30 );
	UINT		loadFlags	= LR_DEFAULTCOLOR | LR_LOADTRANSPARENT | LR_SHARED;

	ImageList_SetBkColor( hImageList, GetSysColor(COLOR_WINDOW) );
	ImageList_AddIcon( hImageList, (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_FILE),			IMAGE_ICON, 16, 16, loadFlags));
	ImageList_SetBkColor( hImageList, GetSysColor(COLOR_BTNFACE) );
	ImageList_AddIcon( hImageList, (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_DOWNARROW),	IMAGE_ICON, 16, 16, loadFlags ) );
	ImageList_AddIcon( hImageList, (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_UPARROW),		IMAGE_ICON, 16, 16, loadFlags ) );
	ImageList_SetBkColor( hImageList, GetSysColor(COLOR_WINDOW) );
	ImageList_AddIcon( hImageList, (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_FILEGOOD),		IMAGE_ICON, 16, 16, loadFlags ) );
	ImageList_AddIcon( hImageList, (HICON) LoadImage( hInstance, MAKEINTRESOURCE(IDI_FILEBAD),		IMAGE_ICON, 16, 16, loadFlags ) );

	ListView_SetImageList( hListView, hImageList, LVSIL_SMALL );
}
Ejemplo n.º 8
0
void CreateResultsColumns(HWND hwndResults, struct FindAddDlgData *dat, char *szProto)
{
	SaveColumnSizes(hwndResults);
	while (ListView_DeleteColumn(hwndResults, 0));
	ListView_SetImageList(hwndResults, dat->himlComboIcons, LVSIL_SMALL);
	LoadColumnSizes(hwndResults, szProto);
}
Ejemplo n.º 9
0
void CLogView::OnInitialUpdate() 
{
	CListView::OnInitialUpdate();

	// TODO: Add your specialized code here and/or call the base class

	m_pLogList = &GetListCtrl();
	
	I_LogList.Create(16, 16, ILC_COLOR32|ILC_MASK,10, 0);
	HICON hIcon = NULL;//以下为加入3个图标资源
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_EVENT_INFO), IMAGE_ICON, 16, 16, 0);
	I_LogList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_EVENT_ERROR), IMAGE_ICON, 16, 16, 0);
	I_LogList.Add(hIcon);
	hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_BE_CAREFUL), IMAGE_ICON, 16, 16, 0);
	I_LogList.Add(hIcon);
	ListView_SetImageList(m_pLogList->m_hWnd, I_LogList, LVSIL_SMALL);

	m_pLogList->SetExtendedStyle(/*LVIF_PARAM |*/ LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP|/*LVS_EX_FLATSB|*/
		LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT |LVS_EX_SUBITEMIMAGES |LVS_EX_GRIDLINES);
	
	for (int i = 0; i < g_Log_Count; i++)
	{	
		m_pLogList->InsertColumn(i, g_Log_Data[i].title);
		m_pLogList->SetColumnWidth(i, g_Log_Data[i].nWidth);
		g_Log_Width += g_Log_Data[i].nWidth; // 总宽度
	}

	HWND hWndHeader = m_pLogList->GetDlgItem(0)->GetSafeHwnd();
	m_heades.SubclassWindow(hWndHeader);
	m_heades.SetTheme(new CXTHeaderCtrlThemeOffice2003());
//	((CGh0stApp *)AfxGetApp())->m_IniFile.SetString("Other", "Out","1");	
}
Ejemplo n.º 10
0
void InitListViewContorol(HWND hWnd)
{
	HWND hWndLV = GetDlgItem(hWnd, IDC_LIST_MAILBOX);
	LV_COLUMN	lc;
	LV_ITEM		li;
	HIMAGELIST	hImgList;
	RECT		rect;

	GetClientRect(hWndLV, &rect);
	
	// イメージリストの作成
	hImgList = ImageList_Create(16, 16, ILC_COLOR | ILC_MASK, 1 , 1);
	ImageList_AddIcon(hImgList, LoadIcon(g_hInstance, "IDI_MAILBOX"));

	ListView_SetImageList(hWndLV, hImgList, LVSIL_SMALL);
	ListView_SetExtendedListViewStyle(hWndLV, LVS_EX_FULLROWSELECT | LVS_EX_CHECKBOXES);

	// ヘッダを追加 (表示しない)
	lc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lc.fmt = LVCFMT_LEFT;

	lc.pszText = "メールボックス";
	lc.cx = rect.right;
	lc.iSubItem = 0;
	lc.cchTextMax = strlen(lc.pszText);
	ListView_InsertColumn(hWndLV, 0, &lc);

	lc.pszText = "フォルダ名";
	lc.cx = 0;
	lc.iSubItem = 1;
	lc.cchTextMax = strlen(lc.pszText);
	ListView_InsertColumn(hWndLV, 1, &lc);
	
	// メールボックスを列挙
	THash MailBoxes;
	EnumMailBox(MailBoxes);

	// メールボックスを追加
	int i = 0;
	for (THash::iterator itr = MailBoxes.begin(); itr != MailBoxes.end(); ++itr) {
		li.mask = LVIF_TEXT | LVIF_IMAGE;
		li.iItem = i;
		li.iImage = 0;
		// 表示名
		li.pszText = (char *)((*itr).second).c_str();
		li.iSubItem = 0;
		ListView_InsertItem(hWndLV, &li);
		// メールボックスのディレクトリ名
		li.pszText = (char *)((*itr).first).c_str();
		li.iSubItem = 1;
		ListView_SetItem(hWndLV, &li);
		
		// 設定されているメールボックスにチェックをつける
		if (g_temporary_mailbox.count((*itr).first) == 1) {
			ListView_SetCheckState(hWndLV, i, 1);
		}

		i++;
	}
}
Ejemplo n.º 11
0
static BOOL InitListViewImageLists(HWND hwndLV)
{
    HIMAGELIST himl;  /* handle to image list  */
    HICON hico;       /* handle to icon  */

    /* Create the image list.  */
    if ((himl = ImageList_Create(CX_ICON, CY_ICON,
                                 ILC_MASK, 0, NUM_ICONS)) == NULL)
    {
        return FALSE;
    }

    hico = LoadIconW(hInst, MAKEINTRESOURCEW(IDI_BIN));
    Image_Bin = ImageList_AddIcon(himl, hico);

    hico = LoadIconW(hInst, MAKEINTRESOURCEW(IDI_STRING));
    Image_String = ImageList_AddIcon(himl, hico);

    /* Fail if not all of the images were added.  */
    if (ImageList_GetImageCount(himl) < NUM_ICONS)
    {
        return FALSE;
    }

    /* Associate the image list with the tree view control.  */
    (void)ListView_SetImageList(hwndLV, himl, LVSIL_SMALL);

    return TRUE;
}
Ejemplo n.º 12
0
void InsertObjectDialog::OnDestroy() 
{
	first_run.Detach();

	ListView_SetImageList(objects.m_hWnd, NULL, LVSIL_SMALL);
	ListView_SetImageList(objects.m_hWnd, NULL, LVSIL_NORMAL);

	if (list_objects.GetCheck() == BST_CHECKED)
		g_MainFrame->m_INI.WriteInt("InsertObject", "List", 1);
	else
		g_MainFrame->m_INI.WriteInt("InsertObject", "List", 0);

	CDialog::OnDestroy();
	
	dlgMan.Save();
}
Ejemplo n.º 13
0
BOOL CTDLTaskIconDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	ListView_SetImageList(m_lcIcons, m_ilIcons, LVSIL_SMALL);
	CPreferences prefs;

	for (int nImage = 0; nImage < m_ilIcons.GetImageCount(); nImage++)
	{
		CString sImage, sKey;

		sKey.Format(_T("Icon%d"), nImage + 1);
		sImage = prefs.GetProfileString(_T("TaskIcons"), sKey);

		if (sImage.IsEmpty())
		{
			sImage.Format(_T("%d"), nImage + 1);
		}

		m_lcIcons.InsertItem(nImage, sImage, nImage);
	}

	if (m_nIconIndex >= 0)
	{
		m_lcIcons.SetItemState(m_nIconIndex, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
	}

	// disable OK button if nothing selected
	GetDlgItem(IDOK)->EnableWindow(m_nIconIndex >= 0);
	m_lcIcons.SetFocus();

	return FALSE;  // return TRUE unless you set the focus to a control
	// EXCEPTION: OCX Property Pages should return FALSE
}
Ejemplo n.º 14
0
/**
 * 初始化列表控件
 */
void initTable(HWND hDlg)
{
	HWND table = GetDlgItem(hDlg, IDC_TABLE);
	hCourseList = table;

	ListView_SetBkColor(table, 0xECF0F1);
	ListView_SetExtendedListViewStyle(table, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);

	HIMAGELIST hImageList = ImageList_Create(1, 100, ILC_COLOR16 | ILC_MASK, 1, 1);
	ListView_SetImageList(table, hImageList, LVSIL_STATE);

	// 绘制表头
	LV_COLUMN column = {LVCF_TEXT | LVCF_WIDTH | LVCF_FMT, LVCFMT_CENTER, 160};
	column.pszText = L"时间";
	ListView_InsertColumn(table, 1, &column);

	CSTR headers = L"一二三四五六天";
	Char headerBuffer[] = L"星期*";
	for (int i = 0; i < DAY_LENGTH;)
	{
		headerBuffer[2] = headers[i];
		column.pszText = headerBuffer;
		ListView_InsertColumn(table, ++i, &column);
	}

	// 插入行头
	LVITEM item = {LVIF_IMAGE | LVIF_TEXT, 0, 0};
	while (item.iItem < Course_LENGTH)
	{
		ListView_InsertItem(table, &item);
		item.pszText = (STR)TIME[item.iItem];
		ListView_SetItem(table, &item);
		++item.iItem;
	}
}
Ejemplo n.º 15
0
void CPlayListDlg::OnInitDialog(HWND hwndDlg)
{
	m_hWnd = hwndDlg;
	ShellInitDialog(m_hWnd);
	HWND hwndLV = GetDlgItem(m_hWnd, IDC_PLAY_LIST);

	RECT rc;
	GetClientRect(hwndLV, &rc);

	ListView_SetExtendedListViewStyle(hwndLV, 
		ListView_GetExtendedListViewStyle(hwndLV) | LVS_EX_FULLROWSELECT);

	// カラムの挿入
	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = RECT_WIDTH(&rc) - GetSystemMetrics(SM_CXVSCROLL) - 2;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(hwndLV, 0, &lvc);
	
	// イメージリストを設定
	ListView_SetImageList(hwndLV, m_hImageList, LVSIL_SMALL);
	
	// リストを更新
	UpdatePlayList();
}
Ejemplo n.º 16
0
CSListView::CSListView(HWND hwnd, CSWindow* parent)
{
	m_handle = hwnd;
	m_parent = parent;

	LVGROUP lg = { 0 };
	lg.cbSize = sizeof(LVGROUP);
	lg.mask = LVGF_HEADER | LVGF_GROUPID;

	lg.pszHeader = TranslateT("Favorites");
	lg.iGroupId = 0;
	ListView_InsertGroup(m_handle, -1, &lg);

	lg.pszHeader = TranslateT("Regular statuses");
	lg.iGroupId = 1;
	ListView_InsertGroup(m_handle, -1, &lg);
	ListView_EnableGroupView(m_handle, TRUE);

	LVCOLUMN lvc = { 0 };
	lvc.mask = LVCF_TEXT | LVCF_FMT | LVCF_WIDTH | LVCF_SUBITEM;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = 0x00;
	lvc.pszText = TEXT("");
	lvc.cx = 0x16;
	SendMessage(m_handle, LVM_INSERTCOLUMN, 0, (LPARAM)&lvc);
	lvc.pszText = TranslateT("Title");
	lvc.cx = 0x64;
	SendMessage(m_handle, LVM_INSERTCOLUMN, 1, (LPARAM)&lvc);
	lvc.pszText = TranslateT("Message");
	lvc.cx = 0xa8;
	SendMessage(m_handle, LVM_INSERTCOLUMN, 2, (LPARAM)&lvc);

	ListView_SetExtendedListViewStyleEx(m_handle, 0, LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP | LVS_EX_INFOTIP);
	ListView_SetImageList(m_handle, m_parent->m_icons, LVSIL_SMALL);
}
Ejemplo n.º 17
0
void CPlayListDlg::OnInitDialog(HWND hwndDlg)
{
	m_hWnd = hwndDlg;
	ShellInitDialog(m_hWnd);

	// ツールバーの準備
	SHMENUBARINFO mbi;
	memset(&mbi, 0, sizeof(SHMENUBARINFO));
	mbi.cbSize = sizeof(SHMENUBARINFO);
	mbi.hwndParent = m_hWnd;
	mbi.nToolBarId = IDR_PLAYLIST;
	mbi.hInstRes = GetInst();
	SHCreateMenuBar(&mbi);
	m_hwndMB = mbi.hwndMB;

	// リストの準備
	HWND hwndLV = GetDlgItem(m_hWnd, IDC_PLAY_LIST);
	ListView_SetExtendedListViewStyle(hwndLV, 
		ListView_GetExtendedListViewStyle(hwndLV) | LVS_EX_FULLROWSELECT);

	// カラムの挿入
	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = 0;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(hwndLV, 0, &lvc);
	
	// イメージリストを設定
	ListView_SetImageList(hwndLV, m_hImageList, LVSIL_SMALL);

	// リストを更新
	UpdatePlayList();
}
Ejemplo n.º 18
0
int MakeControlListView ( int iControlID, int iStyle, int iExtendedStyle, int iX, int iY, int iWidth, int iHeight )
{
	// Assign the style
	DWORD dwExtendedStyle = GetExtendedStyle ( iExtendedStyle );
	DWORD dwSelectStyle = LVS_LIST;
	DWORD dwIconType = LVSIL_SMALL;
	DWORD dwIconSize = 16;
	switch ( iStyle )
	{
		case 1 : dwSelectStyle = LVS_ICON | LVS_ALIGNTOP;	dwIconSize=16;	dwIconType=LVSIL_NORMAL;	break;
		case 2 : dwSelectStyle = LVS_ICON | LVS_ALIGNTOP;	dwIconSize=32;	dwIconType=LVSIL_NORMAL;	break;
		case 3 : dwSelectStyle = LVS_ICON | LVS_ALIGNTOP;	dwIconSize=48;	dwIconType=LVSIL_NORMAL;	break;
	}

	// Create control
	MaintainGlobalHWND();
	if ( !CreateControl ( iControlID, g_pGlob->hWnd, WC_LISTVIEW, dwExtendedStyle, dwSelectStyle, "", iX, iY, iWidth, iHeight ) )
		return 0;

	// Create image list
	g_pControls [ iControlID ].himlImageList = ImageList_Create(dwIconSize, dwIconSize, ILC_COLOR24, 0, 65535); 

	// Assign the image lists to the list view control. 
	HWND hwndLV = g_pControls [ iControlID ].hWnd;
	ListView_SetImageList(hwndLV, g_pControls [ iControlID ].himlImageList, dwIconType); 
	
	// Subclass to get access to all control messages directly
	g_pControls [ iControlID ].lOriginalWinProc = SetWindowLong ( g_pControls [ iControlID ].hWnd, GWL_WNDPROC, (LONG)SubClassControlWinProc );

	// Update safe rects after new addition
	UpdateSafeRectsArray();

	// Success
	return 1;
}
Ejemplo n.º 19
0
static VOID
OnInitDialog(HWND hwndDlg)
{
    HWND hwndListView;
    HIMAGELIST hImgList;
    HICON hIcon;

    /* Create the image list */
    hImgList = ImageList_Create(16, 16, ILC_COLOR8 | ILC_MASK, 5, 5);
    hIcon = LoadImage(hApplet, MAKEINTRESOURCE(IDI_USER), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
    ImageList_AddIcon(hImgList, hIcon);
    hIcon = LoadImage(hApplet, MAKEINTRESOURCE(IDI_LOCKED_USER), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR);
    ImageList_AddIcon(hImgList, hIcon);
    DestroyIcon(hIcon);

    hwndListView = GetDlgItem(hwndDlg, IDC_USERS_LIST);

    (VOID)ListView_SetImageList(hwndListView, hImgList, LVSIL_SMALL);

    (void)ListView_SetExtendedListViewStyle(hwndListView, LVS_EX_FULLROWSELECT);

    SetUsersListColumns(hwndListView);

    UpdateUsersList(hwndListView);
}
Ejemplo n.º 20
0
void KListView::AddIcon(int iImageList, HINSTANCE hInst, int iIcon)
{
    HIMAGELIST * phImage;

    switch (iImageList)
    {
        case LVSIL_NORMAL: 
            phImage = & hImage_Normal;
            break;

        case LVSIL_SMALL:
            phImage = & hImage_Small;
            break;

        case LVSIL_STATE:
            phImage = & hImage_State;
            break;

        default:
            assert(FALSE);
            return;
    }

    if (*phImage==NULL)
    {
        int size = (iImageList==LVSIL_SMALL) ? 16 : 32;

        *phImage = ImageList_Create(size, size, ILC_COLOR4 | ILC_MASK, 1, 1);
        ListView_SetImageList(m_hWnd, *phImage, iImageList);
    }

    ImageList_AddIcon(*phImage, LoadIcon(hInst, MAKEINTRESOURCE(iIcon)));
}
Ejemplo n.º 21
0
VOID
UpdateApplicationsList(INT EnumType)
{
    WCHAR szBuffer1[MAX_STR_LEN], szBuffer2[MAX_STR_LEN];
    HICON hIcon;
    HIMAGELIST hImageListView;

    (VOID) ListView_DeleteAllItems(hListView);

    /* Create image list */
    hImageListView = ImageList_Create(LISTVIEW_ICON_SIZE,
                                      LISTVIEW_ICON_SIZE,
                                      GetSystemColorDepth() | ILC_MASK,
                                      0, 1);

    hIcon = LoadImage(hInst,
                      MAKEINTRESOURCE(IDI_MAIN),
                      IMAGE_ICON,
                      LISTVIEW_ICON_SIZE,
                      LISTVIEW_ICON_SIZE,
                      LR_CREATEDIBSECTION);

    ImageList_AddIcon(hImageListView, hIcon);
    DestroyIcon(hIcon);

    if (EnumType == -1) EnumType = SelectedEnumType;

    if (IS_INSTALLED_ENUM(SelectedEnumType))
        FreeInstalledAppList();
    else if (IS_AVAILABLE_ENUM(SelectedEnumType))
        FreeAvailableAppList();

    if (IS_INSTALLED_ENUM(EnumType))
    {
        /* Enum installed applications and updates */
        EnumInstalledApplications(EnumType, TRUE, EnumInstalledAppProc);
        EnumInstalledApplications(EnumType, FALSE, EnumInstalledAppProc);
    }
    else if (IS_AVAILABLE_ENUM(EnumType))
    {
        /* Enum availabled applications */
        EnumAvailableApplications(EnumType, EnumAvailableAppProc);
    }

    /* Set image list for ListView */
    hImageListView = ListView_SetImageList(hListView, hImageListView, LVSIL_SMALL);

    /* Destroy old image list */
    if (hImageListView)
		ImageList_Destroy(hImageListView);

    SelectedEnumType = EnumType;

    LoadStringW(hInst, IDS_APPS_COUNT, szBuffer2, sizeof(szBuffer2) / sizeof(WCHAR));
    swprintf(szBuffer1, szBuffer2, ListView_GetItemCount(hListView));
    SetStatusBarText(szBuffer1);

    SetWelcomeText();
}
Ejemplo n.º 22
0
void TaskList::init(HINSTANCE hInst, HWND parent, HIMAGELIST hImaLst, int nbItem, int index2set)
{
	Window::init(hInst, parent);

	_currentIndex = index2set;

    INITCOMMONCONTROLSEX icex;
    
    // Ensure that the common control DLL is loaded. 
    icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
    icex.dwICC  = ICC_LISTVIEW_CLASSES;
    InitCommonControlsEx(&icex);

	_nbItem = nbItem;
    
    // Create the list-view window in report view with label editing enabled.
	int listViewStyles = LVS_REPORT | LVS_OWNERDATA | LVS_NOCOLUMNHEADER | LVS_NOSORTHEADER\
						| LVS_NOSCROLL | LVS_SINGLESEL | LVS_AUTOARRANGE | LVS_OWNERDRAWFIXED\
						| LVS_SHAREIMAGELISTS/* | WS_BORDER*/;

	_hSelf = ::CreateWindow(WC_LISTVIEW, 
                                "", 
                                WS_CHILD | listViewStyles,
                                0,
                                0, 
                                0,
                                0,
                                _hParent, 
                                (HMENU) NULL, 
                                hInst,
                                NULL);
	if (!_hSelf)
	{
		systemMessage("System Err");
		throw int(69);
	}

	::SetWindowLong(_hSelf, GWL_USERDATA, reinterpret_cast<LONG>(this));
	_defaultProc = reinterpret_cast<WNDPROC>(::SetWindowLong(_hSelf, GWL_WNDPROC, reinterpret_cast<LONG>(staticProc)));

	DWORD exStyle = ListView_GetExtendedListViewStyle(_hSelf);
	exStyle |= LVS_EX_FULLROWSELECT | LVS_EX_BORDERSELECT ;
	ListView_SetExtendedListViewStyle(_hSelf, exStyle);


	LVCOLUMN lvColumn;
	lvColumn.mask = LVCF_WIDTH;

	lvColumn.cx = 1500;

	ListView_InsertColumn(_hSelf, 0, &lvColumn);

	ListView_SetItemCountEx(_hSelf, _nbItem, LVSICF_NOSCROLL);
	ListView_SetImageList(_hSelf, hImaLst, LVSIL_SMALL);

	ListView_SetItemState(_hSelf, _currentIndex, LVIS_SELECTED|LVIS_FOCUSED, LVIS_SELECTED|LVIS_FOCUSED);
	ListView_SetBkColor(_hSelf, veryLiteGrey);
	ListView_SetTextBkColor(_hSelf, veryLiteGrey);
}
Ejemplo n.º 23
0
bool CMyList::InitSystemImageLists(HWND hwndList)
{
    SHFILEINFO sfi;

    HIMAGELIST himlSmall = (HIMAGELIST)::SHGetFileInfo( "C:\\", 0, &sfi, 
		sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_SMALLICON );

    HIMAGELIST himlLarge = (HIMAGELIST)::SHGetFileInfo( "C:\\", 0, &sfi, 
		sizeof(SHFILEINFO), SHGFI_SYSICONINDEX | SHGFI_LARGEICON );

    if( himlSmall && himlLarge ) { 
		ListView_SetImageList(hwndList, himlSmall, LVSIL_SMALL);
		ListView_SetImageList(hwndList, himlLarge, LVSIL_NORMAL);
		return TRUE;
    }

    return FALSE;
}
Ejemplo n.º 24
0
bool CListView::SetImageList(HIMAGELIST himl,int Type)
{
	if (m_hwnd==nullptr)
		return false;

	ListView_SetImageList(m_hwnd,himl,Type);

	return true;
}
Ejemplo n.º 25
0
BOOL CNewBehaviorDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();

	// Add movements to dialog
	POSITION pos = g_dlls->GetStartPosition();
	DWORD    nKey;
	OINFO*   oInfo;

	m_Images.Create(32, 32, ILC_COLOR24, 3, 3);
	ListView_SetImageList(m_List.m_hWnd, m_Images.m_hImageList, LVSIL_NORMAL);

	vector<OINFO*> sorted;

	while (pos != NULL)
	{ 
		// locate the object DLL to use
		g_dlls->GetNextAssoc(pos, nKey, oInfo);

		if (oInfo->ideFlags & OF_MOVEMENTPLUGIN) 
		{
			sorted.push_back(oInfo);
		}
	}

	sort(sorted.begin(), sorted.end(), BehaviorSortFunction);

	for (int i = 0; i < sorted.size(); i++)
	{
		int icon = ImageList_Add(m_Images.m_hImageList, sorted[i]->hLargeIcon, NULL);

		int item = m_List.InsertItem(m_List.GetItemCount(), sorted[i]->extName, icon);
		behaviors.push_back(sorted[i]->oID);
	}

	// Resizing
	dlgMan.Load(this->m_hWnd, "Software\\Construct\\NewBehaviorDialog");
    dlgAnchor.Init(this->m_hWnd);

	dlgAnchor.Add(IDC_LIST, ANCHOR_TOPLEFT | ANCHOR_BOTTOMRIGHT);
	dlgAnchor.Add(IDOK, ANCHOR_RIGHT | ANCHOR_TOP);
	dlgAnchor.Add(IDCANCEL, ANCHOR_RIGHT | ANCHOR_TOP);
	dlgAnchor.Add(IDC_INFO, ANCHOR_BOTTOM | ANCHOR_LEFT);

	// Change title
	CString Title;
	Title.Format("Construct : %s", PROPERTIES_NEWMOVEMENT);
	SetWindowText(Title);

	m_Cancel.SetWindowText(CANCEL);
	m_OK.SetWindowText(INSERT);
	m_OK.EnableWindow(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
/* ************************************
* BOOL InitListViewImageLists(HWND hWndListView)
* 功能	设置 List View 的 ImageList
* 参数	hWndListView,List View 控件窗口
**************************************/
BOOL InitListViewImageLists(HWND hWndListView)
{
	HIMAGELIST himl; 
	HBITMAP hbmp; 
	// 调用 GetImageList 获得ImageList
	GetImageList(&himl);
	// 设置 List View的的 ImageList
	ListView_SetImageList(hWndListView, himl, LVSIL_SMALL);
	return TRUE;
}
Ejemplo n.º 27
0
/**
 * @brief Add file item to the list.
 * @param hwndFileList - file list view.
 * @param pszFilePath - file path.
 */
static void AddFileItem(HWND hwndFileList, PCTSTR pszFilePath)
{
	int nItemPos = ListView_GetItemCount(hwndFileList);

	SHFILEINFO sfi;
	ZeroMemory(&sfi, sizeof(sfi));
	HIMAGELIST hFileImages = (HIMAGELIST)SHGetFileInfo(pszFilePath, 0, &sfi, sizeof(sfi), SHGFI_SYSICONINDEX | SHGFI_SMALLICON | SHGFI_TYPENAME);
	if (nItemPos == 0)
	{
		_ASSERTE((GetWindowLong(hwndFileList, GWL_STYLE) & LVS_SHAREIMAGELISTS) != 0);
		ListView_SetImageList(hwndFileList, hFileImages, LVSIL_SMALL);
	}

	DWORD dwFileSize;
	WIN32_FIND_DATA FindData;
	HANDLE hFindFile = FindFirstFile(pszFilePath, &FindData);
	TCHAR szFileSize[32];
	if (hFindFile != INVALID_HANDLE_VALUE)
	{
		dwFileSize = FindData.nFileSizeLow;
		if (dwFileSize >= 1000000000)
			_stprintf_s(szFileSize, countof(szFileSize), _T("%lu.%lu GB"), dwFileSize / 1000000000, (dwFileSize % 1000000000) / 100000000);
		else if (dwFileSize >= 1000000)
			_stprintf_s(szFileSize, countof(szFileSize), _T("%lu.%lu MB"), dwFileSize / 1000000, (dwFileSize % 1000000) / 100000);
		else if (dwFileSize >= 1000)
			_stprintf_s(szFileSize, countof(szFileSize), _T("%lu.%lu KB"), dwFileSize / 1000, (dwFileSize % 1000) / 100);
		else
			_stprintf_s(szFileSize, countof(szFileSize), _T("%lu B"), dwFileSize);
		FindClose(hFindFile);
	}
	else
	{
		*szFileSize = _T('\0');
		dwFileSize = 0;
	}

	DWORD dwFilePathSize = (DWORD)_tcslen(pszFilePath) + 1;
	FILE_ITEM_INFO* pFileItemInfo = (FILE_ITEM_INFO*)new BYTE[sizeof(FILE_ITEM_INFO) + dwFilePathSize * sizeof(TCHAR)];
	if (pFileItemInfo != NULL)
	{
		pFileItemInfo->dwFileSize = dwFileSize;
		_tcscpy_s(pFileItemInfo->szFileName, dwFilePathSize, pszFilePath);
	}

	LVITEM lvi;
	ZeroMemory(&lvi, sizeof(lvi));
	lvi.mask = LVIF_TEXT | LVIF_IMAGE | LVIF_PARAM;
	lvi.iItem = nItemPos;
	lvi.pszText = PathFindFileName(pszFilePath);
	lvi.iImage = sfi.iIcon;
	lvi.lParam = (LPARAM)pFileItemInfo;
	ListView_InsertItem(hwndFileList, &lvi);
	ListView_SetItemText(hwndFileList, nItemPos, CID_FILE_TYPE, sfi.szTypeName);
	ListView_SetItemText(hwndFileList, nItemPos, CID_FILE_SIZE, szFileSize);
}
Ejemplo n.º 28
0
/*
* FindDlgCreate
*
* Purpose:
*
* Create and initialize Find Dialog.
*
*/
VOID FindDlgCreate(
    _In_ HWND hwndParent
)
{
    LVCOLUMN col;
    HICON    hIcon;

    //do not allow second copy
    if (g_wobjDialogs[WOBJ_FINDDLG_IDX]) {
        SetActiveWindow(g_wobjDialogs[WOBJ_FINDDLG_IDX]);
        return;
    }

    FindDialog = CreateDialogParam(g_hInstance, MAKEINTRESOURCE(IDD_DIALOG_SEARCH), hwndParent, &FindDlgProc, 0);
    if (FindDialog == NULL) {
        return;
    }
    g_wobjDialogs[WOBJ_FINDDLG_IDX] = FindDialog;

    FindDlgGrip = supCreateSzGripWindow(FindDialog);

    //set dialog icon, because we use shared dlg template this icon must be
    //removed after use, see aboutDlg/propDlg.
    hIcon = LoadImage(g_hInstance, MAKEINTRESOURCE(IDI_ICON_MAIN), IMAGE_ICON, 0, 0, LR_SHARED);
    if (hIcon) {
        SetClassLongPtr(g_wobjDialogs[WOBJ_FINDDLG_IDX], GCLP_HICON, (LONG_PTR)hIcon);
        DestroyIcon(hIcon);
    }

    FindDlgList = GetDlgItem(FindDialog, ID_SEARCH_LIST);
    if (FindDlgList) {
        bFindDlgSortInverse = FALSE;
        ListView_SetImageList(FindDlgList, ListViewImages, LVSIL_SMALL);
        ListView_SetExtendedListViewStyle(FindDlgList, LVS_EX_FULLROWSELECT | LVS_EX_DOUBLEBUFFER | LVS_EX_GRIDLINES | LVS_EX_LABELTIP);

        RtlSecureZeroMemory(&col, sizeof(col));
        col.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_FMT | LVCF_WIDTH | LVCF_ORDER | LVCF_IMAGE;
        col.iSubItem = 1;
        col.pszText = TEXT("Name");
        col.fmt = LVCFMT_LEFT | LVCFMT_BITMAP_ON_RIGHT;
        col.iOrder = 0;
        col.iImage = ImageList_GetImageCount(ListViewImages) - 1;
        col.cx = 300;
        ListView_InsertColumn(FindDlgList, 1, &col);

        col.iSubItem = 2;
        col.pszText = TEXT("Type");
        col.iOrder = 1;
        col.iImage = -1;
        col.cx = 100;
        ListView_InsertColumn(FindDlgList, 2, &col);
    }
    FindDlgAddTypes(FindDialog);
}
Ejemplo n.º 29
0
SensorListControl::SensorListControl(HWND hWnd)
    : CustomDrawListControl(hWnd, Columns)
{
    EnsureImageLoaded(SensorPicture, IDB_KINECTSENSORPICTURE);
    EnsureFontCreated(StatusLargeFont, 25, FW_MEDIUM);

    ListView_SetExtendedListViewStyle(m_hWnd, ListView_GetExtendedListViewStyle(m_hWnd) | LVS_EX_SUBITEMIMAGES);

    HIMAGELIST hImgList = ImageList_Create(SensorListImageWidth, SensorListRowHeight, ILC_COLORDDB, 1, 1);
    ListView_SetImageList(m_hWnd, hImgList, LVSIL_SMALL);
}
Ejemplo n.º 30
0
void CPlayListDlg::OnInitDialog(HWND hwndDlg)
{
	m_hWnd = hwndDlg;
	ShellInitDialog(m_hWnd);

	// ツールバーの準備
	SHMENUBARINFO mbi;
	memset(&mbi, 0, sizeof(SHMENUBARINFO));
	mbi.cbSize = sizeof(SHMENUBARINFO);
	mbi.hwndParent = m_hWnd;
	mbi.nToolBarId = IDR_DUMMY;
	mbi.hInstRes = GetInst();
	SHCreateMenuBar(&mbi);
	m_hwndMB = mbi.hwndMB;

	SendMessage(m_hwndMB, TB_DELETEBUTTON, 0, 0);
	SendMessage(m_hwndMB, TB_ADDSTRING, (WPARAM)GetInst(), IDC_UP);
	SendMessage(m_hwndMB, TB_ADDSTRING, (WPARAM)GetInst(), IDC_DOWN);

	CommandBar_AddBitmap(m_hwndMB, GetInst(), IDR_PLAYLIST, 6, 16, 16);
	TBBUTTON tbbMain[] = {
		{0, IDC_ADD, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
		{1, IDC_UP, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, 0, 0, 0, 0},
		{2, IDC_DOWN, TBSTATE_ENABLED, TBSTYLE_BUTTON | TBSTYLE_AUTOSIZE, 0, 0, 0, 1},
		{3, IDC_DELETE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
		{4, IDC_SAVE, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0, 0, 0, -1},
		{5, IDC_CTRLKEY, TBSTATE_ENABLED, TBSTYLE_CHECK, 0, 0, 0, -1}
	};

	for (int i = 0; i < sizeof(tbbMain) / sizeof(TBBUTTON); i++) {
		CommandBar_InsertButton(m_hwndMB, i, &tbbMain[i]);
	}

	// リストの準備
	HWND hwndLV = GetDlgItem(m_hWnd, IDC_PLAY_LIST);
	ListView_SetExtendedListViewStyle(hwndLV, 
		ListView_GetExtendedListViewStyle(hwndLV) | LVS_EX_FULLROWSELECT);

	// カラムの挿入
	LVCOLUMN lvc;
	lvc.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvc.fmt = LVCFMT_LEFT;
	lvc.cx = 0;
	lvc.pszText = _T("Name");
	lvc.iSubItem = 0;
	ListView_InsertColumn(hwndLV, 0, &lvc);
	
	// イメージリストを設定
	ListView_SetImageList(hwndLV, m_hImageList, LVSIL_SMALL);

	// リストを更新
	UpdatePlayList();
}