Exemplo n.º 1
0
void main()
{
  Color(WHITE,BLUE);
  clrscr();
  Recta(10,10,48,20);
  Recta(2,2,10,9);
  Recta(1,1,49,24);
  //While specifying the options, keep each option's no. of char same
  char Menu[][15]={"Admin ",
		   "search",
		   "Report",
		   "Quit  "};
  char SMenu[][15]={"Add New       ",
		    "Modify Class  ",
		    "Modify Section",
		    "Modify P Info ",
		    "Modify Stream ",
		    "Quit          "};
  int Quit=0;
  do
  {
    clrscr();
    //Display Main Menu1
    int N=HMenu(1,1,Menu,4),SN;
    switch (N)
    {
    case 0://Displaying Vertical Popup menu
	 SN=VMenu(1,2,SMenu,6);
	 switch(SN)
	 {
	   case 0://Call the Function for SubOption1
		DispCh(30,10,"SubOption 1");break;
	   case 1:DispCh(30,10,"SubOption 2");break;
	   case 2:DispCh(30,10,"SubOption 3");break;
	 }
	 getch();
	 break;
    case 1:DispCh(30,10,"Option 2");break;
    case 2:DispCh(30,10,"Option 3");break;
    case 3:DispCh(30,10,"Thank u");
	 Quit=1;
    }
  }
  while (!Quit);
  getch();
}
Exemplo n.º 2
0
int VMenu(int C,int R,char Men[][15],int Noo)
{
  Color(YELLOW,BLUE);
  Recta(C,R,C+strlen(Men[0])+1,R+Noo+1);//Drawing a rectangle enclosing options
  for (int i=0;i<Noo;i++)
    DispCh(C+1,R+i+1,Men[i]);           //Displaying All options

  int Exit=0,Sel=0;

  do
  {
    int Tsel=Sel;
    Color(BLUE,YELLOW);          //Changing color for highlighting
    DispCh(C+1,R+Sel+1,Men[Sel]);//Redisplaying the selected option with changed color
    Color(YELLOW,BLUE);          //Changing color to normal
    char Ch=getch();             //Accepting option from user
    switch(Ch)
    {
    case 71:Sel=0;break;        //Home -> Move to first option
    case 79:Sel=Noo-1;break;    //End  -> Move to Last option
    case 72:if (Sel==0)         //Up   -> Checking if already on top
	      Sel=Noo-1;        //        Move to the last option
	    else                //
	      Sel--;            //        Move one option up
	    break;
    case 80:if (Sel==Noo-1)     //Down -> Checking if already at bottom
	      Sel=0;            //        Move to the first option
	    else                //
	      Sel++;            //        Move one step down
	    break;
    case 27:Sel=-1;      //Escape-> Getting out of the Menu without valid selection
    case 13:Exit=1;      //Enter-> Getting out of the Menu with current selection
    }
    DispCh(C+1,R+Tsel+1,Men[Tsel]);//Redisplaying the non-highlighted option
  }
  while (!Exit);
  return Sel;             //Returning the selected value from menu
}
Exemplo n.º 3
0
void ControlOscyloscope::PintarOscy(HDC hDC, RECT *Espacio) {
	DWL::GDI::DWLRecta		Recta(0, 0, ANCHO_OSCY_PINTABLE, ALTO_OSCY_PINTABLE);
//	RECT					RO = { 0, 0, ANCHO_OSCY_PINTABLE, ALTO_OSCY_PINTABLE };
	static DWL::GDI::DWLhDC	Buffer(hDC, ANCHO_OSCY_PINTABLE, ALTO_OSCY_PINTABLE);
	int						Medida = (4 - static_cast<int>(Sistema.App.Config.TipoOscy));
	float				   *Resultado = NULL;
	size_t					Contador;
	int						XF = 0;
//	HBRUSH Brocha = CreateSolidBrush(DWL::SO::DWLEstilos::Colores.ContenedorEx_Fondo_Normal);
//	FillRect(Buffer.hDC(), Recta(), Brocha);
//	DeleteObject(Brocha);
	static float			ArraySpectrum[512];
	RECT				FondoOscy = { 0, -21, ANCHO_OSCY_PINTABLE, VENTANAEX_ALTURA_PARTE_SUPERIOR -21 };
	if (Sistema.App.Config.UtilizarBarraTituloWindows == true) {
		FondoOscy.top = 0;
		FondoOscy.bottom = VENTANAEX_ALTURA_PARTE_SUPERIOR - 23;
	}
	Buffer.PintaGradient(DWL::SO::DWLEstilos::Colores.VentanaEx_Fondo_DegradadoSuperior, DWL::SO::DWLEstilos::Colores.VentanaEx_Fondo_DegradadoInferior, &FondoOscy, false);

	#if defined UTILIZAR_FMOD
		Resultado   = Sistema.App.FMod.PillaSpectrum(512, ArraySpectrum);
	#endif
	if (Resultado == NULL) { // Si no esta sonando una cancion inicio los parametros a 0
		Resultado = ArraySpectrum;
		for (Contador = 0; Contador < NUM_BARRITAS; Contador ++) {
			Resultado[Contador] = 0.0f;
		}
	}
	/*else {
		Buffer.Fuente(&Sistema.App.Tahoma13b);
		switch (EstadoTexto) {
			case 0 :
				Buffer.PintarTexto(Sistema.App.FMod.CancionActual()->Cancion()->Nombre(), 0, 0, (Espacio->right - Espacio->left) - ANCHO_TIEMPO, 18, Sistema.App.Skin.Ventana_TextoNormal, true);
				break;
			case 1 :
				Buffer.PintarTexto(Sistema.App.FMod.CancionActual()->Cancion()->Nombre(), 0, 0, (Espacio->right - Espacio->left) - ANCHO_TIEMPO, 18, Sistema.App.Skin.Ventana_TextoResaltado, true);
				break;
			case 2 :
				Buffer.PintarTexto(Sistema.App.FMod.CancionActual()->Cancion()->Nombre(), 1, 1, (Espacio->right - Espacio->left) - ANCHO_TIEMPO, 18, Sistema.App.Skin.Ventana_TextoPresionado, true);
				break;
		}
		if (Sistema.App.SliderTiempo.Estado() == BarraEx_Enum_Estados_Presionado)	Buffer.PintarTexto(Sistema.App.FMod.TiempoStr(Sistema.App.SliderTiempo.Valor()), ANCHO_OSCY_PINTABLE - ANCHO_TIEMPO, 0, Sistema.App.Skin.Ventana_TextoNormal, false);
		else																	Buffer.PintarTexto(Sistema.App.FMod.TiempoStr(Sistema.App.FMod.TiempoActual()), ANCHO_OSCY_PINTABLE - ANCHO_TIEMPO, 0, Sistema.App.Skin.Ventana_TextoNormal, false);
	}*/

	// Pinto barritas
	static DWL::GDI::DWLBrocha Negro(DWL_Enum_BrochasStock_Negra);
	for (Contador = 0; Contador < NUM_BARRITAS; Contador ++) {
		XF = static_cast<int>(MAXMEDIDA - (Resultado[Contador] * MULTIPLICADOR_OSCY));
//		XF = static_cast<int>(MAXMEDIDA - (Resultado[Contador] * (MULTIPLICADOR_OSCY + (Contador * 3) )));

		if (LineasOscy[Contador] >= XF - 3) {
			LineasOscy[Contador] = XF - 3;
			if (-3 > LineasOscy[Contador]) LineasOscy[Contador] = -3;
		}
		else {
			LineasOscy[Contador] ++;
		}
//		if (XF > 40) XF = 40;
		if (XF < 0)  XF = 0;

		Sistema.App.Barrita.PintarMapaBits(Buffer.hDC(), (Contador * Medida) + 1, XF + Y_ORIGEN, ((Contador + 1) * Medida), MAXMEDIDA, static_cast<int>(Sistema.App.Config.TipoOscy), XF);

		Recta.Asignar((Contador * Medida) + 1, Y_ORIGEN + LineasOscy[Contador], ((Contador + 1) * Medida), Y_ORIGEN + LineasOscy[Contador] + 1);
		Buffer.PintarRecta(&Recta, &Negro);   // Pinto Lineas
	}

	//RECT RC;
	//GetClientRect(_hWnd, &RC);

	Buffer.PintarMapaBits(hDC, (Espacio->right - ANCHO_OSCY_PINTABLE) / 2, 0, ANCHO_OSCY_PINTABLE, ALTO_OSCY_PINTABLE, 0, 0);
}