/* ************************************
* HWND CreateListView (HWND hwndParent, LPSTR szWindowName)
* 功能	创建 List View
* 参数	hwndParent,父窗口
*			szWindowName,窗口标题
* 返回值	窗口句柄
**************************************/
HWND CreateListView (HWND hwndParent, LPSTR szWindowName)
{
	HWND hWndListView;
	// 创建List View
	hWndListView = CreateWindow (
		WC_LISTVIEW, // List View窗口类
		// 窗口标题,由于未指定 WS_TILED ,这是一个无标题的窗口
		szWindowName,
		// 窗口样式,可视,子窗口,以及List View样式
		WS_VISIBLE | WS_CHILD | LVS_REPORT | LVS_EDITLABELS,
		// 位置和大小,创建完成后使用SetWindows设置
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		CW_USEDEFAULT,
		hwndParent,		// 父窗口
		NULL, hinst, NULL);	// 无菜单,无图标
	if (hWndListView == NULL)
	{
		return NULL;
	}
	// 初始化Image List、初始化列、加入一些项
	if(InitListViewImageLists(hWndListView) &&
		InitListViewColumns(hWndListView) &&
		AddListViewItems(hWndListView))
	{
		return hWndListView;
	}
	DestroyWindow(hWndListView);
	return FALSE;
}
Exemplo n.º 2
0
//
//OnRefreshProgram
//
BOOL CProgramProperties::OnRefreshProgram()
{
    BOOL bResult = FALSE;

    if(!OnUpdate())
        return FALSE;


    if(m_pDemux != NULL && m_pGraphBuilder != NULL){

            if(m_number_of_programs != 0){
            PopulateTransportStreamInfo();
            SetListColumns();
            AddListViewItems();
            SetEsListColumns();
        }
    }

    return TRUE;

} //OnRefreshProgram
Exemplo n.º 3
0
//
// OnReceiveMessage
//
// Virtual method called by base class with Window messages
//
INT_PTR CProgramProperties::OnReceiveMessage(HWND hwnd,
                                           UINT uMsg,
                                           WPARAM wParam,
                                           LPARAM lParam)
{
    switch(uMsg)
    {
        case WM_INITDIALOG:
        {
            m_hwndDialog = hwnd;
            PopulateTransportStreamInfo( );

            m_hwndProgList = GetDlgItem (hwnd, IDC_PROGLIST) ;
            ASSERT(m_hwndProgList);

            m_hwndEsList = GetDlgItem (hwnd, IDC_ES_LIST) ;
            ASSERT(m_hwndEsList);

            // populate program list
            SetListColumns();
            AddListViewItems();

            // set elementary stream list
            SetEsListColumns();

            return TRUE;
        }

        case WM_DESTROY:
        {
            DestroyWindow(m_hwndDialog);
            return TRUE;
        }

        case WM_COMMAND:
        {

            switch (LOWORD (wParam)) {

                case IDC_VIEWBUTTON :
                    OnViewProgram () ;
                    m_bAvStreaming = TRUE;
                    break ;

                case IDC_REFRESHBUTTON :
                    OnRefreshProgram () ;
                    break ;

                case IDC_STOPBUTTON :
                    if(m_bAvStreaming == TRUE){
                        UnmapAvPIDs();
                        m_bAvStreaming = FALSE;
                    }
                    break ;
            };
            return TRUE;
        }

        case WM_NOTIFY:
        {
            switch (wParam)
            {
                 case IDC_PROGLIST:

                    LPNM_LISTVIEW   pnlv = (LPNM_LISTVIEW)lParam;
                    BOOL itemSelected = FALSE;
                    WORD program_number;
                    UINT ii;

                    switch (pnlv->hdr.code)
                    {
                        case NM_CLICK:

                            ii = ListView_GetItemCount(m_hwndProgList);
                            for(; ii; ii--)
                            {
                                if(0!= ListView_GetItemState(
                                        m_hwndProgList,
                                        ii-1,
                                        LVIS_SELECTED))
                                break;
                            }


                            TCHAR szTmp[MAX_LEN];
                            ListView_GetItemText( m_hwndProgList,
                                                  ii-1,
                                                  0, // first column
                                                  szTmp,
                                                  MAX_LEN);
                            program_number = (WORD) _wtoi(szTmp);
                            Dump1(TEXT("selected program number = %s\n"), szTmp);
                            Dump1(TEXT("selected program number = %#x\n"), program_number);

                            SetEsListColumns();
                            AddEsListViewItems( program_number);

                            break;

                        default:
                            break;
                    }

                    return TRUE;

            } // end switch (wParam)
        }

        default:
            return FALSE;
    }

    return TRUE;

} // OnReceiveMessage
Exemplo n.º 4
0
static VOID
InitBackgroundDialog(HWND hwndDlg, PDATA pData)
{
    TCHAR szString[256];
    HKEY regKey;
    TCHAR szBuffer[2];
    DWORD bufferSize = sizeof(szBuffer);
    DWORD varType = REG_SZ;
    LONG result;
    BITMAP bitmap;

    AddListViewItems(hwndDlg, pData);

    LoadString(hApplet, IDS_CENTER, szString, sizeof(szString) / sizeof(TCHAR));
    SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_INSERTSTRING, PLACEMENT_CENTER, (LPARAM)szString);

    LoadString(hApplet, IDS_STRETCH, szString, sizeof(szString) / sizeof(TCHAR));
    SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_INSERTSTRING, PLACEMENT_STRETCH, (LPARAM)szString);

    LoadString(hApplet, IDS_TILE, szString, sizeof(szString) / sizeof(TCHAR));
    SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_INSERTSTRING, PLACEMENT_TILE, (LPARAM)szString);

    /* Load the default settings from the registry */
    result = RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), 0, KEY_ALL_ACCESS, &regKey);
    if (result != ERROR_SUCCESS)
    {
        /* reg key open failed; maybe it does not exist? create it! */
        DWORD dwDisposition = 0;
        result = RegCreateKeyEx( HKEY_CURRENT_USER, TEXT("Control Panel\\Desktop"), 0, NULL, 0, KEY_ALL_ACCESS, NULL,
            &regKey, &dwDisposition );
        /* Now the key must be created & opened and regKey points to opened key */
        /* On error result will not contain ERROR_SUCCESS. I don't know how to handle */
        /* this case :( */
    }

    result = RegQueryValueEx(regKey, TEXT("WallpaperStyle"), 0, &varType, (LPBYTE)szBuffer, &bufferSize);
    if (result == ERROR_SUCCESS)
    {
        if (_ttoi(szBuffer) == 0)
        {
            SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_SETCURSEL, PLACEMENT_CENTER, 0);
            pData->placementSelection = PLACEMENT_CENTER;
        }

        if (_ttoi(szBuffer) == 2)
        {
            SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_SETCURSEL, PLACEMENT_STRETCH, 0);
            pData->placementSelection = PLACEMENT_STRETCH;
        }
    }
    else
    {
        SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_SETCURSEL, PLACEMENT_CENTER, 0);
        pData->placementSelection = PLACEMENT_CENTER;
    }

    result = RegQueryValueEx(regKey, TEXT("TileWallpaper"), 0, &varType, (LPBYTE)szBuffer, &bufferSize);
    if (result == ERROR_SUCCESS)
    {
        if (_ttoi(szBuffer) == 1)
        {
            SendDlgItemMessage(hwndDlg, IDC_PLACEMENT_COMBO, CB_SETCURSEL, PLACEMENT_TILE, 0);
            pData->placementSelection = PLACEMENT_TILE;
        }
    }

    RegCloseKey(regKey);

    pData->hBitmap = (HBITMAP) LoadImage(hApplet, MAKEINTRESOURCE(IDC_MONITOR), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR);
    if (pData->hBitmap != NULL)
    {
        GetObject(pData->hBitmap, sizeof(BITMAP), &bitmap);

        pData->cxSource = bitmap.bmWidth;
        pData->cySource = bitmap.bmHeight;
    }
}