Click here to Skip to main content
15,921,837 members
Home / Discussions / ATL / WTL / STL
   

ATL / WTL / STL

 
GeneralWTL/STL Pin
bsanoop1726-May-03 7:30
bsanoop1726-May-03 7:30 
GeneralLong Atl Build-times Pin
Hugo Hallman25-May-03 11:07
Hugo Hallman25-May-03 11:07 
Generalerror C2065: 'ImageList_Read' : undeclared identifier Pin
szarea23-May-03 12:33
szarea23-May-03 12:33 
GeneralRe: error C2065: 'ImageList_Read' : undeclared identifier Pin
Tim Smith24-May-03 3:11
Tim Smith24-May-03 3:11 
GeneralVector Iterator Pin
ironhead23-May-03 4:10
ironhead23-May-03 4:10 
GeneralRe: Vector Iterator Pin
Joaquín M López Muñoz23-May-03 4:15
Joaquín M López Muñoz23-May-03 4:15 
GeneralRe: Vector Iterator Pin
ironhead23-May-03 13:40
ironhead23-May-03 13:40 
GeneralList view problem in Explorer like application Pin
Derick Cyril Thomas23-May-03 3:48
Derick Cyril Thomas23-May-03 3:48 
I create a windows explorer like application. When an item is selected in

treecontrol, the corrosponding items are shown in the list view. The problem

is that when I select an item in the list view, all icons are displayed correctly

except for .htm and .html files. The file assosiations are ok. The code I use is

	struct LISTITEMINFO {<br />
		LISTITEMINFO()	{memset(this, 0, <br />
<br />
sizeof(LISTITEMINFO));}<br />
		ITEMIDLIST*		lpi;<br />
		IShellFolder*	pParentFolder;<br />
		TCHAR		szName[_MAX_PATH];<br />
		int			iIcon;<br />
		DWORD		dwAttrs;<br />
	};<br />
<br />
<br />
BOOL CMainFrame::FillListView(CTreeItem hItem, SHCONTF shFlag)<br />
{<br />
	CWaitCursor		wait;<br />
	LPITEMIDLIST	pidlFolder;<br />
	<br />
	TVITEM			tvi;<br />
	tvi.mask = TVIF_PARAM; <br />
	tvi.hItem = hItem;<br />
	if (!m_FolderTree.GetItem(&tvi)) {<br />
		return FALSE;<br />
	}<br />
	TREEITEMINFO* pItem = (TREEITEMINFO*) tvi.lParam;<br />
	pidlFolder = pItem->pidlFullyQual;<br />
	IShellFolder*	piFolder;<br />
	CComPtr<IShellFolder>	piDesktopFolder;<br />
	::SHGetDesktopFolder(&piDesktopFolder);<br />
<br />
	HRESULT hr = piDesktopFolder->BindToObject(pidlFolder, <br />
<br />
NULL, __uuidof(IShellFolder), reinterpret_cast<void**>(&piFolder));<br />
	if (FAILED(hr)) <br />
		piDesktopFolder.QueryInterface(&piFolder);<br />
	<br />
	IEnumIDList*	piEnum;<br />
	hr = piFolder->EnumObjects(NULL, shFlag , &piEnum);<br />
	if (FAILED(hr)) return hr;<br />
<br />
	INT				iOverlayIndex(0);<br />
	DWORD			dwStyle(0);<br />
	LPITEMIDLIST	pidlNext;<br />
	SHFILEINFO		sfi;<br />
	INT				nCounter = 0;<br />
<br />
	while (S_OK == piEnum->Next(1, &pidlNext, NULL))<br />
	{<br />
		LPITEMIDLIST* ppidlChild = new <br />
<br />
LPITEMIDLIST(pidlNext);<br />
		if (NULL == ppidlChild) return E_OUTOFMEMORY;<br />
		LPITEMIDLIST	pidlAbsChild;<br />
		pidlAbsChild =Pidl_Concatenate(pidlFolder, <br />
<br />
*ppidlChild);<br />
<br />
		sfi.iIcon = 0;<br />
		<br />
<br />
::SHGetFileInfo((LPCSTR)(LPCITEMIDLIST)pidlAbsChild, 0, <br />
			&sfi, sizeof(SHFILEINFO), <br />
			SHGFI_PIDL | SHGFI_DISPLAYNAME | <br />
<br />
SHGFI_ATTRIBUTES | <br />
			SHGFI_SYSICONINDEX | <br />
<br />
SHGFI_SMALLICON);<br />
		<br />
		if (0xFFFFFFFF == sfi.dwAttributes)<br />
			sfi.dwAttributes = 0;<br />
		<br />
		dwStyle = sfi.dwAttributes & SFGAO_GHOSTED ? <br />
<br />
LVIS_CUT : 0;<br />
		dwStyle |= sfi.dwAttributes & SFGAO_LINK  ? <br />
			INDEXTOOVERLAYMASK(2) : 0;<br />
		dwStyle |= sfi.dwAttributes & SFGAO_SHARE ? <br />
			INDEXTOOVERLAYMASK(1) : 0;<br />
		<br />
		LISTITEMINFO* pItemInfo = new LISTITEMINFO;<br />
		pItemInfo->dwAttrs	= dwStyle;<br />
		pItemInfo->iIcon	= sfi.iIcon;<br />
		pItemInfo->lpi		= pidlAbsChild;<br />
		pItemInfo->pParentFolder = piFolder;<br />
		lstrcpy(pItemInfo->szName, sfi.szDisplayName);<br />
<br />
		LVITEM	lvInsert;<br />
		lvInsert.cchTextMax = _MAX_PATH;<br />
		lvInsert.iImage		= <br />
<br />
I_IMAGECALLBACK;<br />
		lvInsert.iItem		= nCounter++;<br />
		lvInsert.iSubItem	= 0;<br />
		lvInsert.pszText	= LPSTR_TEXTCALLBACK;<br />
		lvInsert.mask		= <br />
<br />
LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;<br />
		lvInsert.lParam		= <br />
<br />
(LPARAM)pItemInfo;<br />
<br />
		int n = m_ListView.InsertItem(&lvInsert);<br />
		m_ListView.AddItem(n, 1, LPSTR_TEXTCALLBACK, <br />
<br />
I_IMAGECALLBACK);<br />
		m_ListView.AddItem(n, 2, LPSTR_TEXTCALLBACK, <br />
<br />
I_IMAGECALLBACK);<br />
		m_ListView.AddItem(n, 3, LPSTR_TEXTCALLBACK, <br />
<br />
I_IMAGECALLBACK);<br />
		delete ppidlChild;<br />
	}<br />
	piEnum->Release();<br />
	return TRUE;<br />
}<br />
<br />
and function is called using FillListView(pnmtv->itemNew.hItem, <br />
<br />
SHCONTF_NONFOLDERS | SHCONTF_INCLUDEHIDDEN | <br />
<br />
SHCONTF_FOLDERS)


any help?Confused | :confused:
ThanksRose | [Rose]
QuestionAbout Implement IDocHostUIHandler Interface funtion ShowContextMenu? Pin
Boyren20-May-03 4:49
Boyren20-May-03 4:49 
GeneralLooking for Good, Concise C++ Tutorials Pin
Kevin McFarlane20-May-03 1:30
Kevin McFarlane20-May-03 1:30 
GeneralRe: Looking for Good, Concise C++ Tutorials Pin
valikac20-May-03 8:52
valikac20-May-03 8:52 
GeneralRe: Looking for Good, Concise C++ Tutorials Pin
Kevin McFarlane20-May-03 11:38
Kevin McFarlane20-May-03 11:38 
GeneralRe: Looking for Good, Concise C++ Tutorials Pin
Joaquín M López Muñoz20-May-03 11:58
Joaquín M López Muñoz20-May-03 11:58 
GeneralVector &amp; structur Pin
aguest20-May-03 0:58
aguest20-May-03 0:58 
GeneralRe: Vector &amp; structur Pin
markkuk20-May-03 1:23
markkuk20-May-03 1:23 
GeneralRe: Vector &amp; structur Pin
aguest20-May-03 12:02
aguest20-May-03 12:02 
GeneralRe: Vector & structur Pin
markkuk20-May-03 12:31
markkuk20-May-03 12:31 
GeneralRe: Vector &amp; structur Pin
aguest20-May-03 14:36
aguest20-May-03 14:36 
GeneralRe: Vector &amp; structur Pin
markkuk21-May-03 1:25
markkuk21-May-03 1:25 
GeneralWriting my own stream class Pin
Patje19-May-03 22:12
Patje19-May-03 22:12 
GeneralRe: Writing my own stream class Pin
cerez0220-May-03 5:15
cerez0220-May-03 5:15 
GeneralRe: Writing my own stream class Pin
Joaquín M López Muñoz20-May-03 10:28
Joaquín M López Muñoz20-May-03 10:28 
GeneralRe: Writing my own stream class Pin
Patje20-Jun-03 3:50
Patje20-Jun-03 3:50 
Generalvector troubles Pin
aguest19-May-03 4:30
aguest19-May-03 4:30 
GeneralRe: vector troubles Pin
Joaquín M López Muñoz19-May-03 6:42
Joaquín M López Muñoz19-May-03 6:42 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.