CATResult CATTreeCtrl::UseImageList(CATUInt32 imageListId, CATUInt32 width, const CATColor& transparent)
{
    if (fImageList)
    {
        TreeView_SetImageList(fControlWnd, 0,TVSIL_NORMAL);
        ImageList_Destroy(fImageList);
        fImageList = 0;
    }

    if (imageListId == 0)
    {
        return CAT_SUCCESS;
    }

    const int kMaxNumImageListItems = 16;

    fImageList = ImageList_LoadBitmap(	gApp->GetInstance(),
                                        MAKEINTRESOURCE(imageListId),
                                        width,
                                        kMaxNumImageListItems,
                                        RGB(transparent.r, transparent.g, transparent.b));

    if (fImageList != 0)
    {
        TreeView_SetImageList(fControlWnd, fImageList, TVSIL_NORMAL);
        return CAT_SUCCESS;
    }

    return CATRESULT(CAT_ERR_IMAGELIST_FAILED);
}
예제 #2
0
BOOL CImageList::Create(LPCTSTR lpszBitmapID, int cx, int nGrow,
        COLORREF crMask)
{
        return Attach(ImageList_LoadBitmap(
                AfxFindResourceHandle(lpszBitmapID, RT_BITMAP),
                lpszBitmapID, cx, nGrow, crMask));
}
예제 #3
0
BOOL CImageList::Create(UINT nBitmapID, int cx, int nGrow, COLORREF crMask)
{
        ASSERT(HIWORD(nBitmapID) == 0);
        return Attach(ImageList_LoadBitmap(
                AfxFindResourceHandle((LPCTSTR)nBitmapID, RT_BITMAP),
                (LPCTSTR)nBitmapID, cx, nGrow, crMask));
}
예제 #4
0
//=====================================================================================
//
//	* Function : AddList()
//	* Description 
//		이 함수는 WM_SPOOF에서 List View에 문자열들을 입력하는 함수이다.
//		두번째 인자로 받는 포인터에 있는 자료구조의 내용을 사용하도록 약속되어있다.
//
//=====================================================================================
void AddList(HWND hWnd, PSPOOF_L ARP_LIST)
{
	TCHAR szIP[256], szMAC[256], szVENDOR[256], szTIME[256],szHOST[256];
	int idx;
	LVITEM LI;

	wsprintf(szIP,TEXT("%d.%d.%d.%d"),
		ARP_LIST->ipAddr[0],ARP_LIST->ipAddr[1],ARP_LIST->ipAddr[2],ARP_LIST->ipAddr[3]);
	wsprintf(szMAC,TEXT("%02X:%02X:%02X:%02X:%02X:%02X"),
		ARP_LIST->macAddr[0],ARP_LIST->macAddr[1],ARP_LIST->macAddr[2],
		ARP_LIST->macAddr[3],ARP_LIST->macAddr[4],ARP_LIST->macAddr[5]);
	CharToTCHAR(ARP_LIST->vendor,szVENDOR);
	CharToTCHAR(ARP_LIST->timestr,szTIME);
	CharToTCHAR(ARP_LIST->hostName,szHOST);

	hImgSm = ImageList_LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BIT_VIEW_16), 16,2,RGB(255,255,255));
	SendMessage(hList, LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL, (LPARAM)hImgSm);

	LI.mask=LVIF_TEXT | LVIF_IMAGE;
	LI.iImage=(ARP_LIST->flag==0? 0:(ARP_LIST->flag!=3? 1:2));
	LI.iSubItem=0;
	idx=ListView_GetItemCount(hList);
	LI.iItem=idx;
	LI.pszText=szIP;
	ListView_InsertItem(hList,&LI);

	ListView_SetItemText(hList,idx,1,szMAC);
	ListView_SetItemText(hList,idx,2,szVENDOR);
	ListView_SetItemText(hList,idx,3,szTIME);
	ListView_SetItemText(hList,idx,4,szHOST);
}
예제 #5
0
CAddTracksDialog::CAddTracksDialog(HWND hwndParent, CPlaylist * pPlaylist) :
    CBaseDialog(hwndParent, IDD_ADD_TRACKS),
    m_pPlaylist(NULL),
    m_pModPlaylist(pPlaylist),
    m_himgFolders(NULL),
    m_himgLocationList(NULL),
    m_hwndMB(NULL),
    m_hwndTitle(NULL),
    m_hwndTrackList(NULL),
    m_bSelectedAll(false)
{
    m_himgFolders      = ImageList_LoadBitmap(g_hInst,
                                              MAKEINTRESOURCE(IDB_FOLDERS),
                                              MENU_ICON_WIDTH - 1,
                                              2,
                                              CLR_DEFAULT);

    m_himgLocationList = ImageList_LoadBitmap(g_hInst,
                                              MAKEINTRESOURCE(IDB_LOCATIONLIST),
                                              MENU_ICON_WIDTH - 1,
                                              4,
                                              CLR_DEFAULT);
}
예제 #6
0
HIMAGELIST Globals::GetSlidingScrollImages()
{
	EnterCriticalSection(&m_csGlobals);
	if (NULL == m_ilSlidingScrollImages)
	{
		m_ilSlidingScrollImages = ImageList_LoadBitmap(g_hInstance,
													   MAKEINTRESOURCE(IDB_SLIBINGSCROLL),
													   BTabs::eImageSize,
													   0,
													   RGB(0, 128, 128));
	}
	LeaveCriticalSection(&m_csGlobals);
	return m_ilSlidingScrollImages;
}
예제 #7
0
//=====================================================================================
//
//	* Function : ChangeList()
//	* Description 
//		이 함수는 WM_SPOOF에서 List View에 해당되는 인덱스를 변환하는 함수이다.
//		입력받을 구조체는 전역변수인 ARP_LIST를 사용한다.
//
//=====================================================================================
void ChangeList(INT index)
{
	TCHAR szIP[256], szMAC[256], szVENDOR[256], szTIME[256],szHOST[256];
	int i;
	LVITEM LI;
	PSPOOF_L ARP_LIST_TMP=ARP_LIST;

	for(i=0;i<index;i++)
		 ARP_LIST_TMP= ARP_LIST_TMP->next;


	wsprintf(szIP,TEXT("%d.%d.%d.%d"),
		ARP_LIST_TMP->ipAddr[0],ARP_LIST_TMP->ipAddr[1],ARP_LIST_TMP->ipAddr[2],ARP_LIST_TMP->ipAddr[3]);
	wsprintf(szMAC,TEXT("%02X:%02X:%02X:%02X:%02X:%02X"),
		ARP_LIST_TMP->macAddr[0],ARP_LIST_TMP->macAddr[1],ARP_LIST_TMP->macAddr[2],
		ARP_LIST_TMP->macAddr[3],ARP_LIST_TMP->macAddr[4],ARP_LIST_TMP->macAddr[5]);
	CharToTCHAR(ARP_LIST_TMP->vendor,szVENDOR);
	CharToTCHAR(ARP_LIST_TMP->timestr,szTIME);
	CharToTCHAR(ARP_LIST_TMP->hostName,szHOST);

	hImgSm = ImageList_LoadBitmap(g_hInst,MAKEINTRESOURCE(IDB_BIT_VIEW_16), 16,2,RGB(255,255,255));
	SendMessage(hList, LVM_SETIMAGELIST,(WPARAM)LVSIL_SMALL, (LPARAM)hImgSm);

	LI.mask=LVIF_TEXT | LVIF_IMAGE;
	LI.iImage=(ARP_LIST_TMP->flag==0? 0:((ARP_LIST_TMP->flag!=3)?1:2));
	LI.iItem=index;

	LI.iSubItem=0;
	LI.pszText=szIP;
	ListView_SetItem(hList,&LI);

	LI.mask=LVIF_TEXT;
	LI.iSubItem=1;
	LI.pszText=szMAC;
	ListView_SetItem(hList,&LI);

	LI.iSubItem=2;
	LI.pszText=szVENDOR;
	ListView_SetItem(hList,&LI);

	LI.iSubItem=3;
	LI.pszText=szTIME;
	ListView_SetItem(hList,&LI);

	LI.iSubItem=4;
	LI.pszText=szHOST;
	ListView_SetItem(hList,&LI);
}
예제 #8
0
bool MoviesMainDialog::handleInitDialog(HWND fw, long ip)
{
    list_.attachControl(handle(), IDC_LIST);
    list_.setStyleEx(LVS_EX_GRADIENT | LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_NOHSCROLL);
    list_.setTextBkColor(CLR_NONE);
    LVCOLUMN col = {0};
    col.mask = LVCF_TEXT;
    col.pszText = _T("");
    list_.insertColumn(0, col);
    HIMAGELIST il = ImageList_LoadBitmap(GetInstance(), MAKEINTRESOURCE(IDB_MOVIES), 17, 1, RGB(255, 255, 255));
    if (NULL != il)
        list_.setImageList(il, LVSIL_SMALL);
    
    Rect r;
    innerBounds(r);
    renderer_.create(WS_TABSTOP, r, handle());
    renderer_.definition.setHyperlinkHandler(GetHyperlinkHandler());

    ModuleDialog::handleInitDialog(fw, ip);
    
    setDisplayMode(displayMode_);
    
    UniversalDataFormat* udf = UDF_ReadFromStream(moviesDataStream);
    if (NULL != udf)
    {
        udf_ = udf;
        prepareTheatresList();
        setDisplayMode(showTheatres);
    }
    
    Preferences& prefs = *GetPreferences();
    if (NULL == prefs.moviesLocation || 0 == Len(prefs.moviesLocation))
    {
        char_t* loc = NULL;
        if (IDOK == ChangeLocationDialog::showModal(loc, handle()))
        {
            free(prefs.moviesLocation);
            prefs.moviesLocation = loc;
            if (NULL != prefs.moviesLocation)
                MoviesFetchData();
        }
    }
        
    return false;
}
void CSaveModifiedItemsDialog::CreateDefaultImages(void)
{
	// IMPORTANT! Win2K and WinXP have the same index for this bitmap.
	//  There's even a standard TB_LOADIMAGES message for toolbar that loads it,
	//  along with standard image indexes into the bitmap.
	//  However, instead of creating a toolbar and issuing TB_LOADIMAGES,
	//  we'll load the bitmap directly by its index (120) and
	//  the color mask (192,192,192).
	//  Double check future versions of Windows to make sure
	//  this all works correctly.
	HMODULE hComCtl32 = GetModuleHandle(_T("comctl32.dll"));
	if(hComCtl32)
	{
		HIMAGELIST hCommonToolbar = ImageList_LoadBitmap(hComCtl32, MAKEINTRESOURCE(120), 16, 0, RGB(192,192,192));
		if(hCommonToolbar)
		{
			HICON hFileNew = ImageList_ExtractIcon(NULL, hCommonToolbar, STD_FILENEW);
			HICON hFileSave = ImageList_ExtractIcon(NULL, hCommonToolbar, STD_FILESAVE);

			if(hFileNew)
			{
				int fileNewIndex = m_images.AddIcon(hFileNew);
				ATLASSERT(fileNewIndex == 0);

				::DestroyIcon(hFileNew);
				hFileNew = NULL;
			}

			if(hFileSave)
			{
				int fileSaveIndex = m_images.AddIcon(hFileSave);
				ATLASSERT(fileSaveIndex == 1);

				m_dialogIcon = hFileSave;

				this->SetIcon(m_dialogIcon, ICON_SMALL);
			}

			ImageList_Destroy(hCommonToolbar);
			hCommonToolbar = NULL;
		}
	}
}
예제 #10
0
/*
================
rvOpenFileDialog::HandleInitDialog

Handles the init dialog message
================
*/
void rvOpenFileDialog::HandleInitDialog ( void )
{
	// Cache the more used window handles
	mWndFileList = GetDlgItem ( mWnd, IDC_TOOLS_FILELIST );
	mWndLookin   = GetDlgItem ( mWnd, IDC_TOOLS_LOOKIN );

	// Load the custom resources used by the controls
	mImageList  = ImageList_LoadBitmap ( mInstance, MAKEINTRESOURCE(IDB_TOOLS_OPEN),16,1,RGB(255,255,255) );
	mBackBitmap = (HBITMAP)LoadImage ( mInstance, MAKEINTRESOURCE(IDB_TOOLS_BACK), IMAGE_BITMAP, 16, 16, LR_DEFAULTCOLOR|LR_LOADMAP3DCOLORS );

	// Attach the image list to the file list and lookin controls		
	ListView_SetImageList ( mWndFileList, mImageList, LVSIL_SMALL );
	SendMessage( mWndLookin,CBEM_SETIMAGELIST,0,(LPARAM) mImageList );
	
	// Back button is a bitmap button
	SendMessage( GetDlgItem ( mWnd, IDC_TOOLS_BACK ), BM_SETIMAGE, IMAGE_BITMAP, (LONG) mBackBitmap );
	
	// Allow custom titles
	SetWindowText ( mWnd, mTitle );
	
	// Custom ok button title
	if ( mOKTitle.Length ( ) )
	{
		SetWindowText ( GetDlgItem ( mWnd, IDOK ), mOKTitle );
	}

	// See if there is a filename in the lookin
	idStr temp;
	idStr filename = mLookin;
	filename.ExtractFileExtension ( temp );
	if ( temp.Length ( ) )
	{
		filename.ExtractFileName ( temp );
		SetWindowText ( GetDlgItem ( mWnd, IDC_TOOLS_FILENAME ), temp );
		filename.StripFilename ( );
		idStr::snPrintf( mLookin, sizeof( mLookin ), "%s", filename.c_str() );
	}

	// Update our controls
	UpdateLookIn ( );
	UpdateFileList ( );
}
예제 #11
0
/**
 * @brief WM_INITDIALOG handler of Preview dialog.
 * @param hwnd - window handle.
 * @param hwndFocus - system-defined focus window.
 * @param lParam - user-defined parameter.
 * @return true to setup focus to system-defined control.
 */
static BOOL PreviewDlg_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
	lParam; hwndFocus;

	if (g_pResManager->m_hBigAppIcon)
		SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)g_pResManager->m_hBigAppIcon);
	if (g_pResManager->m_hSmallAppIcon)
		SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)g_pResManager->m_hSmallAppIcon);
	CenterWindow(hwnd, GetParent(hwnd));

	g_hImageList = ImageList_LoadBitmap(g_hInstance, MAKEINTRESOURCE(IDB_IMAGETOOLBAR), 16, 0, RGB(0xC0, 0xC0, 0xC0));
	HWND hwndImgToolbar = GetDlgItem(hwnd, IDC_IMAGE_COMMANDS);
	LONG lStyle = GetWindowLong(hwndImgToolbar, GWL_STYLE);
	SetWindowLong(hwndImgToolbar, GWL_STYLE, lStyle | CCS_NODIVIDER | CCS_NOPARENTALIGN | CCS_NORESIZE | TBSTYLE_FLAT | TBSTYLE_TOOLTIPS);
	SendMessage(hwndImgToolbar, TB_SETIMAGELIST, 0, (LPARAM)g_hImageList);
	SendMessage(hwndImgToolbar, TB_ADDBUTTONS, countof(g_arrButtons), (LPARAM)g_arrButtons);

	HWND hwndFileList = GetDlgItem(hwnd, IDC_FILESLIST);
	ListView_SetExtendedListViewStyle(hwndFileList, LVS_EX_FULLROWSELECT | LVS_EX_LABELTIP);

	RECT rcList;
	GetClientRect(hwndFileList, &rcList);
	rcList.right -= GetSystemMetrics(SM_CXHSCROLL);

	TCHAR szColumnTitle[64];
	LVCOLUMN lvc;
	ZeroMemory(&lvc, sizeof(lvc));
	lvc.mask = LVCF_TEXT | LVCF_WIDTH;
	lvc.pszText = szColumnTitle;

	lvc.cx = rcList.right / 2;
	LoadString(g_hInstance, IDS_COLUMN_FILE, szColumnTitle, countof(szColumnTitle));
	ListView_InsertColumn(hwndFileList, CID_FILE_NAME, &lvc);

	lvc.cx = rcList.right / 4;
	LoadString(g_hInstance, IDS_COLUMN_TYPE, szColumnTitle, countof(szColumnTitle));
	ListView_InsertColumn(hwndFileList, CID_FILE_TYPE, &lvc);

	lvc.cx = rcList.right / 4;
	LoadString(g_hInstance, IDS_COLUMN_SIZE, szColumnTitle, countof(szColumnTitle));
	ListView_InsertColumn(hwndFileList, CID_FILE_SIZE, &lvc);

	g_hFile = INVALID_HANDLE_VALUE;
	g_hBitmap = NULL;
	g_eFileViewType = FVT_NONE;

	if (g_dwFlags & BTF_DETAILEDMODE)
	{
		TCHAR szFindFileTemplate[MAX_PATH];
		PathCombine(szFindFileTemplate, g_szInternalReportFolder, _T("*"));
		WIN32_FIND_DATA FindData;
		HANDLE hFindFile = FindFirstFile(szFindFileTemplate, &FindData);
		if (hFindFile != INVALID_HANDLE_VALUE)
		{
			BOOL bMore = TRUE;
			while (bMore)
			{
				if ((FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
				{
					TCHAR szFilePath[MAX_PATH];
					PathCombine(szFilePath, g_szInternalReportFolder, FindData.cFileName);
					AddFileItem(hwndFileList, szFilePath);
				}
				bMore = FindNextFile(hFindFile, &FindData);
			}
			FindClose(hFindFile);
		}
	}
	else
		AddFileItem(hwndFileList, g_szInternalReportFilePath);

	size_t nFileCount = g_arrLogLinks.GetCount();
	for (size_t nFilePos = 0; nFilePos < nFileCount; ++nFilePos)
	{
		CLogLink* pLogLink = g_arrLogLinks[nFilePos];
		_ASSERTE(pLogLink != NULL);
		PCTSTR pszFilePath = pLogLink->GetLogFileName();
		AddFileItem(hwndFileList, pszFilePath);
	}

	HWND hwndSplitter = GetDlgItem(hwnd, IDC_SPLITTER);
	g_Splitter.Attach(hwndSplitter);
	RECT rect;
	GetClientRect(hwndFileList, &rect);
	// Set splitter position according to initial dialog layout.
	g_Splitter.SetSplitterPos(rect.bottom);
	g_Splitter.SetPanel(0, hwndFileList);
	HWND hwndFileView = GetDlgItem(hwnd, IDC_FILEVIEW);
	g_Splitter.SetPanel(1, hwndFileView);

	g_LayoutMgr.InitLayout(hwnd, g_arrPreviewLayout, countof(g_arrPreviewLayout));

	// LVM_SETIMAGELIST resets header control image list
	g_FilesListOrder.InitList(hwndFileList);
	return TRUE;
}
예제 #12
0
extern "C" HWND PrepGridView(HWND hwndGridView, int widthArray[], TCHAR *szTypeName)
{
	GVCOLUMN gvcol = { 0 };
	HFONT hFont, hBold, hItalic;
	HIMAGELIST hImgList ;
	bool fAllTypes = szTypeName && lstrcmp(szTypeName, TEXT("struct ALL")) == 0 ? true : false;

	GridView_SetStyle(hwndGridView, -1, GVS_FULLROWSELECT|GVS_GRIDLINES|GVS_TREELINES
		//|GVS_SHOWFOCUS
		);//,GVS_FULLROWSELECT|GVS_GRIDLINES);

	hBold = CreateFont(-14,0,0,0,FW_BOLD,0,0,0,0,0,0,0,0, TEXT("Segoe UI"));
	//SendMessage(g_hWndGridView, WM_SETFONT, (WPARAM)hFont, 0);

	//hFont = CreateFont(-14,0,0,0,0,0,0,0,0,0,0,0,0,"Segoe UI");
	hFont = CreateFont(-14,0,0,0,0,0,0,0,0,0,0,0,0, TEXT("Verdana"));

	hItalic = CreateFont(-14,0,0,0,0,TRUE,0,0,0,0,0,0,0, TEXT("Verdana"));
	//SendMessage(GetWindow(g_hWndGridView, GW_CHILD), WM_SETFONT, (WPARAM)hFont, 0);
	SendMessage(hwndGridView, WM_SETFONT, (WPARAM)hFont, 0);

//	gvcol.hFont = hBold;
	if(!fAllTypes)
	{
		fShowFullType = true;

		gvcol.xWidth = widthArray[COLIDX_NAME];//300;
		gvcol.pszText = TEXT("Name");
		gvcol.uState = GVCS_BLENDIMAGE;
		
		GridView_InsertColumn(hwndGridView, COLIDX_NAME, &gvcol);


		gvcol.hFont = hFont;
		gvcol.xWidth  = widthArray[COLIDX_DATA];//200;
		gvcol.pszText = TEXT("Value");
		gvcol.uState  = 0;//GVCS_ALIGN_RIGHT;
	
		GridView_InsertColumn(hwndGridView, COLIDX_DATA, &gvcol);

		gvcol.xWidth = widthArray[COLIDX_OFFSET];//100;
		gvcol.pszText = TEXT("Offset");
		gvcol.uState  = GVCS_READONLY;
		
		GridView_InsertColumn(hwndGridView, COLIDX_OFFSET, &gvcol);
		
		//GridView_InsertColumn(hwndGridView, 1, &gvcol);
		gvcol.xWidth = widthArray[COLIDX_COMMENT];//300;
		gvcol.pszText = TEXT("Comment");
		gvcol.uState  = 0;
		gvcol.hFont   = hItalic;

		GridView_InsertColumn(hwndGridView, COLIDX_COMMENT, &gvcol);
	}
	else
	{
		gvcol.xWidth = widthArray[COLIDX_TYPE];//300;
		gvcol.pszText = TEXT("Type");
		gvcol.uState  = 0;
	
		GridView_InsertColumn(hwndGridView, 0, &gvcol);

		gvcol.xWidth = widthArray[COLIDX_TYPE];//300;
		gvcol.pszText = TEXT("Value");
		gvcol.uState  = 0;

		GridView_InsertColumn(hwndGridView, 1, &gvcol);
	}

	hImgList = ImageList_LoadBitmap(GetModuleHandle(0), MAKEINTRESOURCE(IDB_BITMAP9), 16, 0, RGB(255,0,255));
	//hImgList = ImageList_LoadImage(GetModuleHandle(0), MAKEINTRESOURCE(IDB_BITMAP12), 16, 0, RGB(255,0,255), IMAGE_BITMAP, LR_CREATEDIBSECTION |LR_LOADTRANSPARENT);
	GridView_SetImageList(hwndGridView, hImgList);

	return hwndGridView;
}