亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? listview.cpp

?? Windows mobile程序開發的ListView控件的示例程序,Microsoft Embedded virual c++工程。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
/****************************************************************************
*
*
*    PROGRAM: ListView.cpp
*
*    PURPOSE: Demonstrates the use of the list view control
*
****************************************************************************/

#include <windows.h>    // includes basic windows functionality
#include <commctrl.h>   // includes the common control header
#include <string.h>
#include "listview.h"

// global current instance
HINSTANCE hInst;

// global array of houses
HOUSEINFO rgHouseInfo[] = 
{
	{TEXT("100 Berry Lane"), TEXT("Redmond"), 175000, 3, 2 },
	{TEXT("523 Apple Road"), TEXT("Redmond"), 125000, 4, 2},
	{TEXT("1212 Peach Street"), TEXT("Redmond"),200000, 4, 3},
	{TEXT("22 Daffodil Lane"), TEXT("Bellevue"), 2500000, 4, 4},
	{TEXT("33542 Orchid Road"), TEXT("Bellevue"), 180000, 3, 2},
	{TEXT("64134 Lily Street"), TEXT("Bellevue"), 250000, 4, 3},
	{TEXT("33 Nicholas Lane"), TEXT("Seattle"), 350000, 3, 2},
	{TEXT("555 Tracy Road"), TEXT("Seattle"), 140000, 3, 2},
	{TEXT("446 Jean Street"), TEXT("Seattle"), 225000, 4, 3}
};

//handle to the MenuBar
HWND hwndCB;
HMENU hmenuCB;

/////////////////////////// Pocket PC only samples ///////////////////////
#if _WIN32_WCE < 212//non-Pocket PC devices
#error 'This sample works on Pocket PC devices only'
#endif
#include <aygshell.h>


////////////////////////// SHGetMenu Macro's
#if _WIN32_WCE > 211 //Pocket PC devices

//#define SHCMBM_SETSUBMENU   (WM_USER + 400)
//#define SHCMBM_GETSUBMENU   (WM_USER + 401) // lParam == ID
//#define SHCMBM_GETMENU      (WM_USER + 402) // get the owning hmenu (as specified in the load resource)

#define SHGetMenu(hWndMB)  (HMENU)SendMessage((hWndMB), SHCMBM_GETMENU, (WPARAM)0, (LPARAM)0);
#define SHGetSubMenu(hWndMB,ID_MENU) (HMENU)SendMessage((hWndMB), SHCMBM_GETSUBMENU, (WPARAM)0, (LPARAM)ID_MENU);
#define SHSetSubMenu(hWndMB,ID_MENU) (HMENU)SendMessage((hWndMB), SHCMBM_SETSUBMENU, (WPARAM)0, (LPARAM)ID_MENU);

//Alternate definition
#define SHMenuBar_GetMenu(hWndMB,ID_MENU) (HMENU)SendMessage((hWndMB), SHCMBM_GETSUBMENU, (WPARAM)0, (LPARAM)ID_MENU);

#else //non-Pocket PC devices

#define SHGetMenu(hWndCB) (HMENU)CommandBar_GetMenu(hWndCB, 0)
#define SHGetSubMenu(hWndCB,ID_MENU) (HMENU)GetSubMenu((HMENU)CommandBar_GetMenu(hWndCB, 0), ID_MENU)
#define SHSetSubMenu(hWndMB,ID_MENU)

#endif
/////////////////////////
//Menu Bar Height
#define MENU_HEIGHT 26


/****************************************************************************
*
*    FUNCTION: WinMain(HANDLE, HANDLE, LPSTR, int)
*
*    PURPOSE: calls initialization function, processes message loop
*
****************************************************************************/

int APIENTRY WinMain(
					 HINSTANCE hInstance,
					 HINSTANCE hPrevInstance,
					 LPTSTR lpCmdLine,
					 int nCmdShow
					 )
{
	
	MSG msg;                       
	
	if (!InitApplication(hInstance))
		return (FALSE);     
	
	/* Perform initializations that apply to a specific instance */
	if (!InitInstance(hInstance, nCmdShow))
		return (FALSE);
	
	/* Acquire and dispatch messages until a WM_QUIT message is received. */
	while (GetMessage(&msg,
		NULL,              
		0,                 
		0))                
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg); 
	}
	return (msg.wParam);  
	
}


/****************************************************************************
*
*    FUNCTION: InitApplication(HANDLE)
*
*    PURPOSE: Initializes window data and registers window class
*
****************************************************************************/

BOOL InitApplication(HINSTANCE hInstance)       /* current instance             */
{
	WNDCLASS  wcListview;
	
	/* Fill in window class structure with parameters that describe the       */
	/* main window.                                                           */
	
	wcListview.style = 0;                     
	wcListview.lpfnWndProc = (WNDPROC)MainWndProc; 
	wcListview.cbClsExtra = 0;              
	wcListview.cbWndExtra = 0;              
	wcListview.hInstance = hInstance;       
	wcListview.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(APP_ICON));
	wcListview.hCursor = 0;
	wcListview.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); 
	wcListview.lpszMenuName =  0;  
	wcListview.lpszClassName = TEXT("ListviewWClass");
	
	return (RegisterClass(&wcListview));
	
}


/****************************************************************************
*
*    FUNCTION:  InitInstance(HANDLE, int)
*
*    PURPOSE:  Saves instance handle and creates main window
*
****************************************************************************/

BOOL InitInstance(
				  HINSTANCE          hInstance,
				  int             nCmdShow) 
{
	HWND hWndMain;
	
	hInst = hInstance;
	
	hWndMain = CreateWindow(
		TEXT("ListviewWClass"),
		TEXT("Listview Sample"), 
		WS_VISIBLE,
		CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
		NULL,               
		NULL,               
		hInstance,          
		NULL);
	
	/* If window could not be created, return "failure" */
	if (!hWndMain)
		return (FALSE);
	
	/* Make the window visible; update its client area; and return "success" */
	ShowWindow(hWndMain, nCmdShow);
	UpdateWindow(hWndMain); 
	return (TRUE);      
	
}

/****************************************************************************
*
*    FUNCTION: MainWndProc(HWND, unsigned, WORD, LONG)
*
*    PURPOSE:  Processes messages
*
****************************************************************************/

LONG APIENTRY MainWndProc(
						  HWND hWnd,                /* window handle                   */
						  UINT message,             /* type of message                 */
						  UINT wParam,              /* additional information          */
						  LONG lParam)              /* additional information          */
{
	static HWND hWndListView;
	DWORD dwStyle;
	
	switch (message) 
	{
		
	case WM_CREATE:
		//When the main window is created using CW_USEDEFAULT the height of the menubar (if one
		// is created is not taken into account). So we resize the window after creating it
		// if a menubar is present
		{
			RECT rc;
			GetWindowRect(hWnd, &rc);
			// adjust for menu / titlebar height
			rc.bottom -= (2*MENU_HEIGHT -1);
			
			MoveWindow(hWnd, rc.left, rc.top, rc.right, rc.bottom, FALSE);
		}
		
		//Create a MenuBar
		SHMENUBARINFO mbi;
        memset(&mbi, 0, sizeof(SHMENUBARINFO));
        mbi.cbSize     = sizeof(SHMENUBARINFO);
        mbi.hwndParent = hWnd;
        mbi.nToolBarId = IDM_MAIN_MENU;
        mbi.hInstRes   = hInst;
        mbi.nBmpId     = 0;
        mbi.cBmpImages = 0;	
        
		
		if (!SHCreateMenuBar(&mbi))
			MessageBox(hWnd, L"SHCreateMenuBar Failed", L"Error", MB_OK);
        hwndCB = mbi.hwndMB;
		hmenuCB = SHGetSubMenu(hwndCB, IDM_MAIN_MENUITEM1);
		
		dwStyle = GetWindowLong(hWndListView, GWL_STYLE);
		
		// set inital radio check to the detail/report view
		if ((dwStyle & LVS_TYPEMASK) != LVS_REPORT)
			SetWindowLong(hWndListView, GWL_STYLE,
			(dwStyle & ~LVS_TYPEMASK) | LVS_REPORT);
		CheckMenuRadioItem(hmenuCB, IDM_LARGEICON, IDM_REPORTVIEW, IDM_REPORTVIEW, MF_BYCOMMAND);
		
		hWndListView = CreateListView( hWnd );
		if (hWndListView == NULL)
			MessageBox (NULL, TEXT("Listview not created!"), NULL, MB_OK );
		
		break;
		
	case WM_NOTIFY:
		return( NotifyHandler(hWnd, message, wParam, lParam));
		break;
		
	case WM_COMMAND:
		
		switch( LOWORD( wParam ))
		{
			
		case IDM_LARGEICON:
			dwStyle = GetWindowLong(hWndListView, GWL_STYLE);
			
			if ((dwStyle & LVS_TYPEMASK) != LVS_ICON)
				SetWindowLong(hWndListView, GWL_STYLE,
				(dwStyle & ~LVS_TYPEMASK) | LVS_ICON);
			CheckMenuRadioItem(hmenuCB, IDM_LARGEICON, IDM_REPORTVIEW, IDM_LARGEICON, MF_BYCOMMAND);
			break;
			
		case IDM_SMALLICON:
			dwStyle = GetWindowLong(hWndListView, GWL_STYLE);
			
			if ((dwStyle & LVS_TYPEMASK) != LVS_SMALLICON)
				SetWindowLong(hWndListView, GWL_STYLE,
				(dwStyle & ~LVS_TYPEMASK) | LVS_SMALLICON);
			CheckMenuRadioItem(hmenuCB, IDM_LARGEICON, IDM_REPORTVIEW, IDM_SMALLICON, MF_BYCOMMAND);
			break;
			
		case IDM_LISTVIEW:
			dwStyle = GetWindowLong(hWndListView, GWL_STYLE);
			
			if ((dwStyle & LVS_TYPEMASK) != LVS_LIST)
				SetWindowLong(hWndListView, GWL_STYLE,
				(dwStyle & ~LVS_TYPEMASK) | LVS_LIST);
			CheckMenuRadioItem(hmenuCB, IDM_LARGEICON, IDM_REPORTVIEW, IDM_LISTVIEW, MF_BYCOMMAND);
			break;
			
		case IDM_REPORTVIEW:
			dwStyle = GetWindowLong(hWndListView, GWL_STYLE);
			
			if ((dwStyle & LVS_TYPEMASK) != LVS_REPORT)
				SetWindowLong(hWndListView, GWL_STYLE,
				(dwStyle & ~LVS_TYPEMASK) | LVS_REPORT);
			CheckMenuRadioItem(hmenuCB, IDM_LARGEICON, IDM_REPORTVIEW, IDM_REPORTVIEW, MF_BYCOMMAND);
			break;
			
		case IDM_EXIT:
			PostQuitMessage(0);
			break;
			
		case IDM_ABOUT:
			DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, (DLGPROC)About);
			break;
			
		default:
			return (DefWindowProc(hWnd, message, wParam, lParam));
			
		}
		break;
		
		case WM_SIZE:
            MoveWindow(hWndListView, 0, 0, LOWORD(lParam),HIWORD(lParam),TRUE);
            break;
			
		case WM_DESTROY:                  /* message: window being destroyed */
			PostQuitMessage(0);
			break;
			
		default:
			return (DefWindowProc(hWnd, message, wParam, lParam));
	}
	return (0);
}



/****************************************************************************
* 
*    FUNCTION: CreateListView(HWND)
*

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一区二区在线| 国产精品第五页| 国产日韩成人精品| 1024国产精品| 日日摸夜夜添夜夜添国产精品 | 91在线视频免费91| 精品视频资源站| 精品久久人人做人人爱| 中文文精品字幕一区二区| 亚洲电影在线免费观看| 国产精品一区二区黑丝| 色婷婷狠狠综合| 欧美成人精品3d动漫h| 日韩一区在线看| 日本视频一区二区| 成人免费毛片片v| 在线播放中文一区| 国产精品欧美精品| 日韩精品色哟哟| av在线不卡免费看| 91精品国产福利| 国产精品麻豆一区二区| 青青青伊人色综合久久| eeuss影院一区二区三区| 欧美一区二区三区视频免费| 中文字幕色av一区二区三区| 日韩电影在线看| 99精品视频在线免费观看| 精品国产乱码久久久久久老虎| 亚洲靠逼com| 国产高清在线观看免费不卡| 欧美浪妇xxxx高跟鞋交| 中文字幕一区在线观看| 激情欧美一区二区| 欧美久久婷婷综合色| 亚洲婷婷在线视频| 国产一区二区三区不卡在线观看| 欧美日韩精品一区二区三区| 国产精品欧美经典| 国产一区二区三区免费播放| 欧美美女bb生活片| 亚洲码国产岛国毛片在线| 国产精品123| 欧美一级黄色录像| 亚洲一区电影777| 99久久99久久久精品齐齐| 久久久久久影视| 九色|91porny| 91精品国产综合久久久久久久| 亚洲一区二区视频| 91看片淫黄大片一级在线观看| 亚洲国产精品激情在线观看| 国产一区二区成人久久免费影院| 91精品国产乱码| 三级成人在线视频| 欧美午夜精品久久久| 一区二区三区在线观看动漫| 粉嫩一区二区三区性色av| 亚洲精品在线免费观看视频| 久久91精品国产91久久小草| 欧美一区二区三区播放老司机| 亚洲h在线观看| 欧美三级电影在线观看| 亚洲一本大道在线| 欧美性色aⅴ视频一区日韩精品| 自拍偷拍国产亚洲| 91视频xxxx| 亚洲免费大片在线观看| 99re热这里只有精品视频| 亚洲欧美一区二区在线观看| 成人黄色软件下载| 国产精品久久毛片| 91蜜桃网址入口| 亚洲天天做日日做天天谢日日欢 | 亚洲国产成人在线| 成人高清视频在线观看| 国产精品全国免费观看高清 | 中文字幕在线观看一区| 成人黄色网址在线观看| 一区视频在线播放| 91在线国产观看| 亚洲欧洲中文日韩久久av乱码| 色综合久久久网| 一区二区成人在线观看| 欧美人牲a欧美精品| 首页国产欧美久久| 精品国精品国产| 国产成人免费av在线| 中文字幕日韩av资源站| 欧美亚洲尤物久久| 免费人成网站在线观看欧美高清| 欧美电影免费提供在线观看| 国产成人在线视频免费播放| 一区在线中文字幕| 欧美色图片你懂的| 欧美a级理论片| 国产欧美精品一区二区三区四区| 99久久综合精品| 亚洲国产美国国产综合一区二区| 日韩亚洲欧美一区二区三区| 国产美女在线精品| 自拍偷拍亚洲激情| 在线观看91av| 国产电影一区二区三区| 亚洲视频一区二区在线观看| 欧美日韩精品一二三区| 国产一区二区三区在线观看免费视频| 国产精品你懂的| 欧美精品自拍偷拍动漫精品| 国产一区二区精品久久91| 亚洲欧美区自拍先锋| 制服丝袜中文字幕亚洲| 成人三级在线视频| 亚洲大片在线观看| 久久综合色鬼综合色| 91原创在线视频| 日本成人在线电影网| 国产精品美女久久久久高潮| 欧美日韩亚洲国产综合| 国产精品自拍av| 亚洲一区在线视频| 久久久久久久av麻豆果冻| 色天使色偷偷av一区二区| 免费国产亚洲视频| 最新日韩在线视频| 日韩精品一区二区三区视频播放 | 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩一区精品| 国产不卡一区视频| 天堂久久一区二区三区| 国产精品免费视频一区| 91精品国产麻豆国产自产在线| 成人晚上爱看视频| 毛片av一区二区| 一区二区三区丝袜| 国产亚洲一区字幕| 6080日韩午夜伦伦午夜伦| 99re视频精品| 国产精品亚洲专一区二区三区| 亚洲6080在线| **网站欧美大片在线观看| 精品sm在线观看| 91精品国产综合久久精品| 99视频超级精品| 国产一二精品视频| 日本不卡的三区四区五区| 亚洲欧美一区二区久久| 欧美激情自拍偷拍| 精品日韩一区二区三区免费视频| 欧美专区日韩专区| 99久久精品国产导航| 国产成人无遮挡在线视频| 日韩av一级片| 色先锋aa成人| 国产传媒日韩欧美成人| 亚洲成av人片在www色猫咪| 国产精品二三区| 国产欧美日韩卡一| 精品奇米国产一区二区三区| 欧美精品丝袜中出| 色国产综合视频| 91麻豆精品在线观看| 成人国产电影网| 国产成人精品免费视频网站| 狠狠色狠狠色综合日日91app| 奇米777欧美一区二区| 亚洲成人一区在线| 亚洲午夜影视影院在线观看| 最新欧美精品一区二区三区| 国产精品久久久久久妇女6080 | 免费成人美女在线观看| 三级影片在线观看欧美日韩一区二区| 夜夜爽夜夜爽精品视频| 一区二区高清免费观看影视大全 | 欧美三片在线视频观看| 色天使色偷偷av一区二区| 色综合天天综合网国产成人综合天| 欧美成人乱码一区二区三区| 777奇米四色成人影色区| 欧美日韩一区二区三区免费看 | 午夜精品久久一牛影视| 亚洲国产一区在线观看| 一二三区精品福利视频| 亚洲一区二区三区不卡国产欧美| 一级特黄大欧美久久久| 亚洲成人精品一区| 视频一区欧美精品| 捆绑调教一区二区三区| 国产一区在线精品| 国产a久久麻豆| 丁香婷婷综合五月| 91亚洲男人天堂| 色婷婷一区二区三区四区| 欧美亚洲综合一区| 欧美理论电影在线| 日韩欧美你懂的| 国产女人18毛片水真多成人如厕| 亚洲国产成人一区二区三区| 亚洲三级理论片| 水蜜桃久久夜色精品一区的特点|