⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testxres.cpp

📁 symbian 下的helix player源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			
			outputfile->Write((char*)*bmp,strlen(*bmp));
			outputfile->Close();
			
			delete outputfile;
		}
		else
		{
			printf("Could not create file object.\r");
		}
		
		delete bmp;

#endif

			
		}

		return 0;
	}



if (strcmp(argv[1],"ICON")==0)
{

	if (HXR_OK != theFile->Open(argv[2]))
	{
		printf("ERROR: file could not be opened.\n");
	}
	else
	{

		ULONG32 id=atoi(argv[3]);

			
#ifdef _MACINTOSH		
		
			short                             index=0;
		
			GrafPtr         saveport; GetPort(&saveport);
			
			Rect            wRect={50,50,600,800};
				
			WindowPtr       myWind=NewWindow(NULL,&wRect,"\pStringParsing",TRUE,2,(WindowPtr)-1L, FALSE,NULL); 
			
			ShowWindow(myWind);
			SetPort(myWind);
			
			//
			//	Load the icon first
			//
			
			IHXXResource*	   iconresource;
			
			if (HXR_OK==theFile->GetResource(HX_RT_GROUPICON,id,&rsrc))
			{
				
				//
				//	Create an Icon parser object
				//
				
				CHXXIcon*		   icon;
				icon=CHXXIcon::create(rsrc);

#if 0 /* needs to be re-worked with new icon drawing code */
				if (icon)
				{
					
					CIconHandle        macicon;
					
					
					macicon=icon->GetIconHandle();
					
					Rect	aRect={0,0,31,31};
					FillRect(&aRect,&qd.ltGray);
					PlotCIcon(&aRect,macicon);
					
					aRect.top+=32;
					aRect.bottom+=32;
					FillRect(&aRect,&qd.gray);
					PlotCIcon(&aRect,macicon);
	
					aRect.top+=32;
					aRect.bottom+=32;
					FillRect(&aRect,&qd.dkGray);
					PlotCIcon(&aRect,macicon);	
					
					aRect.top+=32;
					aRect.bottom+=32;
					FillRect(&aRect,&qd.white);
					PlotCIcon(&aRect,macicon);					


					aRect.top+=32;
					aRect.bottom+=32;
					FillRect(&aRect,&qd.black);
					PlotCIcon(&aRect,macicon);					


										
					while (!Button())
					{
						EventRecord     theEvent;
					
						WaitNextEvent(everyEvent,&theEvent,0xFF,NULL);
					}
					
					HX_DELETE(icon);
					
				}	
#endif //		
				HX_RELEASE(rsrc);

			}			
			DisposeWindow(myWind);
			
			SetPort(saveport);
			
#endif  

			
		}

		return 0;
	}



//
//      Menu test
//
	
	
	if (strcmp(argv[1],"MENU")==0)
	{
		if (HXR_OK != theFile->Open(argv[2]))
		{
			printf("ERROR: File could not be openend.\n");
		}

		ULONG32 id=atoi(argv[3]);

		IHXXResource*  rsrc=NULL;


		if (HXR_OK == theFile->GetResource(HX_RT_MENU,id,&rsrc))
		{               
			
#ifdef _MACINTOSH

			CHXXMenu*        pMenu=CHXXMenu::create(rsrc);
			
			rsrc->Release();
			
			if (!pMenu)
			{
				return;
			}
			
			UINT16                          menuid=atoi(argv[3]);
			UINT16                          index=0;
			MenuHandle                      mainmenu;
			MenuHandle                      submenus[10];
			HX_MenuItem*            mi=NULL;
			ConstStr255Param        pstring;
			UINT16                          curitem=1;
			
			memset(submenus,0,sizeof(submenus));
			
			if (HXR_OK==pMenu->GetNthMenuItem(&mi,0))
			{
				CHXString       thestring;
				thestring=mi->szItemText;
				pstring=thestring;
			
				mainmenu=NewMenu(menuid,pstring);
				
				index=1;
				
				while (HXR_OK==pMenu->GetNthMenuItem(&mi,index))
				{
					pstring=mi->szItemText;
					
					
					if (!IS_POPUP_MENUITEM(mi))
					{
						if (IS_SEPARATOR_MENUITEM(mi))
						{
							AppendMenu(mainmenu,"\p-");
						}
											
						AppendMenu(mainmenu,pstring);
						
						if (IS_DISABLED_MENUITEM(mi))
						{
							DisableItem(mainmenu,curitem);                                                  
						}
						
						if (IS_CHECKED_MENUITEM(mi))
						{
							CheckItem(mainmenu,curitem,TRUE);                                                       
						}                                               

						if (mi->wKey && (mi->fKeyFlags & HX_FCONTROL))
						{
							SetItemCmd(mainmenu,curitem,mi->wKey);
						}       

					}
					else
					{
						AddSubMenu(mainmenu,pMenu,&index);      
					}
					
					index++;
					curitem++;
				}
				
				
				InsertMenu(mainmenu,0);
				
				EventRecord     theEvent;
				
				
				DrawMenuBar();                          
				
				while (true)
				{
					if (WaitNextEvent(everyEvent,&theEvent,0xFF,NULL))
					{
						if (theEvent.what==autoKey)
						{
							break;
						}
						
						if (theEvent.what==mouseDown)
						{
							WindowPtr       whichWin;
						
							short part = FindWindow(theEvent.where,&whichWin);
							
							if (part == inMenuBar)
							{
								MenuSelect(theEvent.where);
							}
							
						}       
					
					}
					
				}
				
			}

#endif
		


#if 0
//#ifdef _UNIX

			CHXXMenu*        pMenu=CHXXMenu::create(rsrc);
			HX_MenuItem*            mi=NULL;
			if (HXR_OK==pMenu->GetNthMenuItem(&mi,0))
			printf ("Menu: 0x%x\nItem: %s %s %s\n", pMenu, mi->szItemText, mi->szAcceleratorText, mi->szStatusText);

#endif




		}
	}
	
	
	if (strcmp(argv[1],"MENUBAR")==0)
	{

		if (HXR_OK != theFile->Open(argv[2]))
		{
			printf("ERROR: file could not be opened.\n");
		}
		
		ULONG32 id=atoi(argv[3]);

		IHXXResource*  rsrc=NULL;


		if (HXR_OK == theFile->GetResource(HX_RT_MENU,id,&rsrc))
		{               

#ifdef _MACINTOSH
			CHXXMenuBar*    menubar=CHXXMenuBar::create(rsrc);
			
			ULONG32 index=0;
			CHXXMenu*               menu=NULL;
			
			gSubLevel=0;
			
			while (HXR_OK==menubar->GetMenuByIndex(&menu,index))
			{
			
				gSubLevel=0;
			
				UINT16  itemindex=0;
				
				AddSubMenu(NULL,menu,&itemindex);
				
				index++;
			}
			
			
			EventRecord     theEvent;
			
			DrawMenuBar();                          
			
			while (true)
			{
				if (WaitNextEvent(everyEvent,&theEvent,0xFF,NULL))
				{
					if (theEvent.what==autoKey)
					{
						break;
					}
					
					if (theEvent.what==mouseDown)
					{
						WindowPtr       whichWin;
					
						short part = FindWindow(theEvent.where,&whichWin);
						
						if (part == inMenuBar)
						{
							MenuSelect(theEvent.where);
						}
						
					}       
				
				}
				
			}
		
#endif                  
			



#if 0
//#ifdef _UNIX

            CHXXMenuBar*    menubar=CHXXMenuBar::create(rsrc);
#endif                  



		}

		theFile->Close();

		return 0;
	}       
	

	if (strcmp(argv[1],"CURSOR")==0)
	{

		if (HXR_OK != theFile->Open(argv[2]))
		{
			printf("ERROR: file could not be opened.\n");
		}
		
		ULONG32 id=atoi(argv[3]);

		IHXXResource*  rsrc=NULL;


		if (HXR_OK == theFile->GetResource(HX_RT_GROUPCURSOR,id,&rsrc))
		{               

			CHXXCursor*             theCursor=CHXXCursor::create(rsrc);
#ifdef _MACINTOSH                
			HX_ASSERT(theCursor);
		
			if (theCursor)
			{
				SetCursor(*theCursor);
			}
		
			while (!Button())
			{
				EventRecord     theEvent;
			
				WaitNextEvent(everyEvent,&theEvent,0xFF,NULL);
			}
#endif                
			
		}
		
		

		theFile->Close();

		return 0;
	}       

	if (strcmp(argv[1],"STRING")==0)
	{

		if (HXR_OK != theFile->Open(argv[2]))
		{
			printf("ERROR: File could not be opened.\n");
		}

		IHXXResource*   res;

		ID= atoi(argv[3]);
		
		res=theFile->GetString(ID);
		
		if (res)
		{
			printf("%s",(char*)res->ResourceData());
		
			res->Release();
		}

		theFile->Close();

		return 0;
	}
	return 0;
}


#ifdef _MACINTOSH

	void    AddSubMenu(MenuHandle   menu, CHXXMenu* pMenu,UINT16*  index)
	{
	
		HX_MenuItem*    mi=NULL;
		
		
		pMenu->GetNthMenuItem(&mi,*index);

		MenuHandle      submenu=NewMenu(gSubMenuID++,mi->szItemText);
		ULONG32         curitem=1;
		
		if (menu)
		{
			InsertMenu  (submenu,-1);
			
			AppendMenu(menu,mi->szItemText);
			UINT16  thisitem=CountMenuItems(menu);
			SetItemCmd(menu,thisitem,hMenuCmd);
			SetItemMark(menu,thisitem,(char)(gSubMenuID-1));
		}
		else
		{
			InsertMenu (submenu,0);
		}               
	
		gSubLevel++;    
		
		(*index)++;
		while (HXR_OK==pMenu->GetNthMenuItem(&mi,*index))
		{
		
			if (IS_SEPARATOR_MENUITEM(mi))
			{
				AppendMenu(submenu,"\p-");
			}
		
		
			if (mi->wSubLevel < gSubLevel)
			{
				(*index)--;
				gSubLevel--;
				return;
			}
				
			
			if (IS_POPUP_MENUITEM(mi))
			{
				AddSubMenu(submenu,pMenu,index);        
			}
			else
			{
				AppendMenu(submenu,mi->szItemText);     
				
				if (IS_DISABLED_MENUITEM(mi))
				{
					DisableItem(submenu,curitem);                                                   
				}
				
				if (IS_CHECKED_MENUITEM(mi))
				{
					CheckItem(submenu,curitem,TRUE);                                                        
				}
				
				if (mi->wKey && (mi->fKeyFlags & HX_FCONTROL))
				{
					SetItemCmd(submenu,curitem,mi->wKey);
				}               
				
			}
					
			curitem++;
			(*index)++;

			
		}
	}

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -