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

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

?? mcbmain.c

?? brew平臺下解析XML的
?? C
?? 第 1 頁 / 共 5 頁
字號:
		if (lpszXML)
		{
           /*
            *****************************************************************
            * Parse the XML into the tree structure
            *****************************************************************
            */
            pRoot = McbParseXML(lpszXML, NULL);

            if (pRoot)
            {
               /*
                *************************************************************
                * Find the head element
                *************************************************************
                */
				pChild = McbFindElement(pRoot, _T("XMLOptions"));

				if (pChild)
				{
					nResult = TRUE;

                   /*
                    *********************************************************
                    * Search for the vertical panel attribute, if this isnt
					* found then the assume horizontal panel
                    *********************************************************
                    */
					pAttr = McbFindAttribute(pChild, _T("PanelsVertical"));

					if (pAttr)
					{
						pOptions->bPanelsVertical = TRUE;
					}

                   /*
                    *********************************************************
                    * Find the file options element
                    *********************************************************
                    */
					pChild = McbFindElement(pChild, _T("FileOptions"));

					if (pChild)
					{
                       /*
                        *****************************************************
                        * Obtain the filename attribute
                        *****************************************************
                        */
						pAttr = McbFindAttribute(pChild, _T("Filename"));

						if (pAttr && pAttr->lpszValue)
						{
							lpszValue = McbRemoveQuotes(pAttr->lpszValue);

							if (lpszValue)
							{
								_tcscpy(pOptions->szLastFile, lpszValue);
								free(lpszValue);
							}
						}

                       /*
                        *****************************************************
                        * Obtain the filter index attribute
                        *****************************************************
                        */
						pAttr = McbFindAttribute(pChild, _T("FilterIndex"));

						if (pAttr && pAttr->lpszValue)
						{
							pOptions->nFilterIndex = _ttol(pAttr->lpszValue);
						}
					}
				}

				McbDeleteRoot(pRoot);
			}

			free(lpszXML);
		}
    }

	return nResult;

}/* McbArchiveOptions */

/*
 ****************************************************************************
 * Constants used withthe image list.
 ****************************************************************************
 */
#define McbATTRIBUTEBMP		0
#define McbCDATABMP			1
#define McbCLEARBMP			2
#define McbDECLARATIONBMP	3
#define McbELEMENTBMP		4
#define McbTEXTBMP			5

/*
 ****************************************************************************
 * Helper macro to set the status bar text.
 ****************************************************************************
 */
#define McbSETSTATUS(hWnd, lpszText, nPanel) 								\
	SendMessage((hWnd), SB_SETTEXT, (nPanel), (LPARAM)(lpszText))

/**
 ****************************************************************************
 * <P> Message handler for about box.  </P>
 *
 * @methodName  CALLBACK McbAbout
 *
 * @param       hDlg		
 * @param       message		
 * @param       wParam		
 * @param       lParam		
 *
 * @return      LRESULT
 *
 * @exception   none
 *
 * @author      Martyn C Brown
 *
 * @changeHistory  
 *	3rd February  	2002	 - 	(V1.0) Creation (MCB)
 ****************************************************************************
 */
LRESULT CALLBACK McbAbout(HWND hDlg, UINT message, WPARAM wParam, 
						 LPARAM lParam)
{
	switch (message)
	{
		case WM_INITDIALOG:
			return TRUE;

		case WM_COMMAND:
			if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) 
			{
				EndDialog(hDlg, LOWORD(wParam));
				return TRUE;
			}
			break;
	}

    return FALSE;

}/* CALLBACK McbAbout */

/**
 ****************************************************************************
 * <P> Saves instance handle and creates main window.
 *
 * In this function, we save the instance handle in a global variable and 
 * create and display the main program window.  </P>
 *
 * @methodName  McbInitInstance
 *
 * @param       hInstance		
 * @param       nCmdShow		
 *
 * @return      BOOL
 *
 * @exception   none
 *
 * @author      Martyn C Brown
 *
 * @changeHistory  
 *	3rd February  	2002	 - 	(V1.0) Creation (MCB)
 ****************************************************************************
 */
BOOL McbInitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

  /*
   **************************************************************************
   * Store instance handle in our global variable
   **************************************************************************
   */
   g_hInst = hInstance;

   hWnd = CreateWindow(g_szWindowClass, g_szTitle, WS_OVERLAPPEDWINDOW,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

   if (!hWnd)
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);
   UpdateWindow(hWnd);

   return TRUE;

}/* McbInitInstance */

/**
 ****************************************************************************
 * <P> Replace non-printable characters with a space.  </P>
 *
 * @methodName  McbReplaceNonPrintableChars
 *
 * @param       lpszText		
 *
 * @return      void
 *
 * @exception   none
 *
 * @author      Martyn C Brown
 *
 * @changeHistory  
 *	26th August    	2001	 - 	(V1.0) Creation (MCB)
 ****************************************************************************
 */
void McbReplaceNonPrintableChars(LPTSTR lpszText)
{
	LPTSTR lpszMarker = lpszText;

	if (lpszMarker)
	{
		for (; *lpszMarker; lpszMarker++)
		{
			switch(*lpszMarker)
			{
			case _T('\r'):
			case _T('\n'):
			case _T('\t'):
				*lpszMarker = _T(' ');
			}
		}
	}

}/* McbReplaceNonPrintableChars */

/**
 ****************************************************************************
 * <P> Recursively build the tree control.  </P>
 *
 * @methodName  McbBuildTree
 *
 * @param       HWND hWndTree		
 * @param       McbXMLNode *pNode
 * @param       HTREEITEM hParent		
 *
 * @return      void
 *
 * @exception   none
 *
 * @author      Martyn C Brown
 *
 * @changeHistory  
 *	20th August    	2001	 - 	(V1.0) Creation (MCB)
 ****************************************************************************
 */
void McbBuildTree(HWND hWndTree, McbXMLNode *pNode, HTREEITEM hParent)
{
	int cbElement;
	TV_INSERTSTRUCT insert;
	int nImage;
	HTREEITEM hElement;
	int nIndex;
	int cb;
	int cbText;
	int cbName;
	int cbValue;
	McbXMLNode *pChild;
	McbXMLClear *pClear;
	McbXMLElement *pElement;
	McbXMLAttribute *pAttrib;
	LPTSTR lpszText;
	LPTSTR lpszMarker;

	assert(pNode->type == eNodeElement);
	assert(hWndTree);

	pElement = pNode->node.pElement;
	assert(pElement);

	cbElement = pElement->lpszName ? _tcslen(pElement->lpszName) : 0;

	insert.hParent = hParent;
	insert.hInsertAfter = TVI_LAST;

	insert.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | 
		TVIF_STATE | TVIF_PARAM;  

	nImage = pElement->nIsDeclaration ? McbDECLARATIONBMP : McbELEMENTBMP;

	insert.item.hItem;
	insert.item.state = TVIS_BOLD;
	insert.item.stateMask = TVIS_BOLD;       
	insert.item.pszText = pElement->lpszName;             
	insert.item.cchTextMax = cbElement;      
	insert.item.iImage = nImage;              
	insert.item.iSelectedImage = nImage;  
	insert.item.cChildren = 0;           
	
   /*
    *************************************************************************
    * The lParam for each node will contain the character offset at where the
	* node starts (calculated when the xml was parsed) and the significant 
	* size of the node.  This can then be used to update the rich edit window
	* when someone selects a node in the tree.
    *************************************************************************
    */
	insert.item.lParam = (LPARAM)MAKELONG((WORD)pNode->nStringOffset, 
		(WORD)cbElement);

   /*
    *************************************************************************
    * Insert the element into the tree
    *************************************************************************
    */
	if (cbElement)
	{
		hElement = (HTREEITEM)SendMessage(hWndTree, TVM_INSERTITEM, 0, 
			(LPARAM)(LPTV_INSERTSTRUCT)&insert);  

		assert(hElement);
	}
	else
	{
		hElement = NULL;
	}

	insert.hParent = hElement;

   /*
    *************************************************************************
    * Enumerate nodes in the list
    *************************************************************************
    */
	nIndex = 0;
	while(pChild = McbEnumNodes(pElement, &nIndex))
	{
		switch(pChild->type)
		{
       /*
        *********************************************************************
        * If we have an attribute node
        *********************************************************************
        */
		case eNodeAttribute:
		
			insert.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | 
				TVIF_PARAM;
			insert.item.iImage = McbATTRIBUTEBMP;       
			insert.item.iSelectedImage = McbATTRIBUTEBMP;    

			pAttrib = pChild->node.pAttrib;
    
           /*
            *****************************************************************
            * Construct attribute name : value
            *****************************************************************
            */
            cbName = pAttrib->lpszName ? _tcslen(pAttrib->lpszName) : 0;
            cbValue = pAttrib->lpszValue ? _tcslen(pAttrib->lpszValue) : 0;

			insert.item.lParam = (LPARAM)MAKELONG((WORD)
				pChild->nStringOffset, (WORD)cbName);

            cbText = cbName + cbValue;

            assert(cbText);

            if (cbValue) cbText += 3;

            lpszText = (LPTSTR)malloc((cbText+1) * sizeof(TCHAR));
            lpszMarker = lpszText;

            if (cbName)
            {
                _tcscpy(lpszMarker, pAttrib->lpszName);
                lpszMarker += cbName;
            }

            if (cbValue)
            {
                _tcscpy(lpszMarker, _T(" : "));
                lpszMarker += 3;

                _tcscpy(lpszMarker, pAttrib->lpszValue);
            }

            insert.item.cchTextMax = cbText;
            insert.item.pszText = lpszText;

            McbReplaceNonPrintableChars(insert.item.pszText);

           /*
            *****************************************************************
            * Insert each attribute into the tree.
            *****************************************************************
            */
            SendMessage(hWndTree, TVM_INSERTITEM, 0, (LPARAM)
				(LPTV_INSERTSTRUCT)&insert);  

			free(lpszText);
			break;

       /*
        *********************************************************************
        * If we have an element node.
        *********************************************************************
        */
		case eNodeElement:
			McbBuildTree(hWndTree, pChild, hElement);
			break;

       /*
        *********************************************************************
        * If we have a text node.
        *********************************************************************
        */
		case eNodeText:

			insert.item.mask = TVIF_TEXT | TVIF_IMAGE | TVIF_SELECTEDIMAGE | 
				TVIF_PARAM;
			insert.item.iImage = McbTEXTBMP;       
			insert.item.iSelectedImage = McbTEXTBMP;

			cbText = _tcslen(pChild->node.pText->lpszValue);
			lpszText = (LPTSTR)malloc((cbText+1) * sizeof(TCHAR));

			insert.item.lParam = (LPARAM)MAKELONG((WORD)
				pChild->nStringOffset, (WORD)cbText);

			_tcscpy(lpszText, pChild->node.pText->lpszValue);

			insert.item.pszText = lpszText;
			insert.item.cchTextMax = cbText;

			McbReplaceNonPrintableChars(insert.item.pszText);

           /*
            *****************************************************************
            * Insert text node into the tree
            *****************************************************************
            */
            SendMessage(hWndTree, TVM_INSERTITEM, 0, 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
热久久久久久久| 另类小说一区二区三区| 久久久久久久综合色一本| 91麻豆国产在线观看| 久久精品久久99精品久久| 国产精品国产三级国产专播品爱网| 91精品91久久久中77777| 国产一区二区三区在线观看免费| 亚洲欧美日韩综合aⅴ视频| 日韩欧美国产wwwww| 成人激情动漫在线观看| 日本特黄久久久高潮| 国产精品久久777777| 欧美在线你懂得| 国产精品一二三在| 亚洲不卡在线观看| 亚洲欧美综合在线精品| 日韩午夜精品视频| 色婷婷精品大在线视频| 激情久久久久久久久久久久久久久久| 亚洲裸体在线观看| www久久精品| 欧美自拍丝袜亚洲| 国产二区国产一区在线观看| 亚洲v中文字幕| 最好看的中文字幕久久| 2021久久国产精品不只是精品| 欧美午夜一区二区三区| 成人一区二区三区在线观看| 日韩不卡一区二区| 一区二区三区在线不卡| 欧美国产乱子伦| 精品日韩欧美一区二区| 欧美亚洲禁片免费| 色欧美片视频在线观看在线视频| 国产酒店精品激情| 激情综合五月天| 日韩av网站在线观看| 亚洲福利一区二区三区| 日韩毛片一二三区| 国产精品久久午夜| 国产免费观看久久| 久久久亚洲高清| 日韩一区二区三区免费观看| 欧美视频自拍偷拍| 在线视频国产一区| 国产一区二区三区电影在线观看 | 亚洲国产精品99久久久久久久久| 欧美不卡视频一区| 日韩视频在线永久播放| 91精品国产一区二区| 4438x成人网最大色成网站| 欧美色涩在线第一页| 在线观看视频91| 在线观看三级视频欧美| 色婷婷av一区二区| 成人免费高清在线| a级精品国产片在线观看| 狠狠色狠狠色综合日日91app| 蜜臀av一级做a爰片久久| 日韩成人dvd| 激情亚洲综合在线| 国模少妇一区二区三区| 美女视频黄频大全不卡视频在线播放 | 麻豆精品视频在线观看| 麻豆免费精品视频| 国产麻豆91精品| 高清不卡在线观看av| 国产91综合一区在线观看| 成人动漫在线一区| 91在线免费看| 在线精品国精品国产尤物884a| 欧美写真视频网站| 91精品国模一区二区三区| 欧美大胆一级视频| 久久亚洲精品国产精品紫薇| 国产精品免费av| 国产精品久久久一区麻豆最新章节| 欧美激情一区二区三区全黄| 中文字幕亚洲欧美在线不卡| 亚洲欧美日本在线| 亚洲综合无码一区二区| 免费欧美高清视频| 麻豆成人免费电影| 国产91丝袜在线播放| 91麻豆视频网站| 91精品国产一区二区三区香蕉| 精品欧美一区二区久久| 国产精品久久看| 日韩成人精品在线观看| 国产精品主播直播| 日本精品一级二级| 91麻豆精品国产无毒不卡在线观看| 精品精品欲导航| 亚洲图片激情小说| 日本在线不卡一区| 岛国av在线一区| 欧美日韩亚洲综合在线| 久久夜色精品一区| 亚洲精选免费视频| 精品中文字幕一区二区小辣椒 | 一区二区三区精品| 精品综合久久久久久8888| 国产99久久久精品| 欧美日韩国产一区二区三区地区| 欧美国产精品专区| 男男gaygay亚洲| av不卡在线观看| 日韩免费看的电影| 悠悠色在线精品| 国产剧情在线观看一区二区| 欧美日韩国产天堂| 国产精品三级久久久久三级| 日韩精品久久久久久| www.欧美日韩| 精品久久久久久无| 亚洲主播在线观看| 不卡一区二区中文字幕| 日韩欧美中文字幕一区| 亚洲卡通动漫在线| 看片网站欧美日韩| 99精品桃花视频在线观看| 日韩欧美国产综合一区| 亚洲精品视频在线看| 日韩黄色片在线观看| 91蜜桃传媒精品久久久一区二区| 日韩午夜中文字幕| 视频一区二区三区中文字幕| 99re热这里只有精品视频| 久久久久国产精品厨房| 久久精品国产一区二区三 | 91麻豆高清视频| 国产精品女人毛片| 激情五月播播久久久精品| 91国在线观看| 中文字幕免费一区| 国产精品18久久久久久久久久久久| 欧美色倩网站大全免费| 亚洲另类在线视频| 国产成人精品免费| 精品91自产拍在线观看一区| 日韩成人免费电影| 欧美男女性生活在线直播观看| 亚洲一区二区在线播放相泽 | 午夜天堂影视香蕉久久| 一本到不卡免费一区二区| 国产精品污污网站在线观看| 国内精品久久久久影院一蜜桃| 日韩三级视频在线观看| 奇米精品一区二区三区在线观看| 欧美三级视频在线观看| 亚洲va欧美va国产va天堂影院| 欧美三级三级三级| 婷婷综合久久一区二区三区| 正在播放一区二区| 老司机午夜精品99久久| 欧美精品一区二区三区一线天视频 | 国产在线观看一区二区| 久久久久综合网| 国产成人精品免费一区二区| 国产精品卡一卡二| 日本电影欧美片| 亚洲国产另类av| 日韩一区二区三区视频在线| 久久成人久久爱| 日韩一区二区在线观看视频| 亚洲一区二区美女| 欧美久久久久久蜜桃| 久久99国产乱子伦精品免费| 欧美成人女星排名| 国产一本一道久久香蕉| 国产精品天天摸av网| 91色porny蝌蚪| 视频一区欧美日韩| 2023国产精品视频| 成人国产精品免费观看视频| 亚洲天堂精品在线观看| 在线成人午夜影院| 国产美女视频91| 亚洲精品乱码久久久久久久久| 欧美丰满美乳xxx高潮www| 精品在线一区二区三区| 国产精品色哟哟网站| 欧美日韩国产高清一区二区 | fc2成人免费人成在线观看播放| 日韩一区中文字幕| 欧美剧情片在线观看| 国产1区2区3区精品美女| 一级中文字幕一区二区| 日韩午夜在线观看视频| aa级大片欧美| 蜜臀av性久久久久蜜臀aⅴ流畅 | 亚洲一区在线看| 久久综合九色综合97婷婷| 91麻豆.com| 麻豆视频观看网址久久| 综合久久久久久久| 日韩欧美综合在线| 色网站国产精品| 久久国产夜色精品鲁鲁99|