在多子菜单中切换状态 [英] switch statment in multi sub menu

查看:129
本文介绍了在多子菜单中切换状态的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi
我在做液晶显示器.我想在此LCD中制作编辑菜单.
在此LCD中,我们可以同时显示四行.
但我的确切问题是我们内部和内部都有许多子菜单.
我们如何在LCD中实现它.
这是我的计划.
主菜单
>>控件
>> TS IP
IP地址
网关
子网掩码

>>管理IP
IP地址
网关
子网掩码

>>输入
>>视频
>>来源
>> SDI
>> HDMI
>>组件
>>宽度
>>高度
>>视频格式
>>帧

>>音频
>>来源
>>模拟
>>嵌入式
>> AES-EBU HDMI
>>样品

>>服务
>>服务名称
>>服务提供商
>>服务编号
>> PMT PID
....

>>输出
>>视频
>>压缩
>>编码类型
>>比特率
>>个人资料
>>等级
>>音频
>> TYPE
>> ASI
>>多播
>> UDP/RTP
>>目标IP
>>港口
>> UNICAST
>> UDP/RTP
>>目标IP
>>港口

我们如何实现它.

hi
i am working on a lcd . i want to make edit menu in this lcd.
in this lcd we can show four line at time.
but my exact problem we many sub menu inside and inside.
how we can implement it in lcd.
this is my plan.
Main Menu
>> Controls
>> TS IP
IP ADDR
GATEWAY
SUBNET MASK

>> MANAGEMENT IP
IP ADDR
GATEWAY
SUBNET MASK

>> Input
>> VIDEO
>> SOURCE
>>SDI
>>HDMI
>>COMPONENT
>> WIDTH
>> HEIGHT
>> VIDEO FORMAT
>> FRAMERATE

>> AUDIO
>> SOURCE
>>ANALOG
>>EMBEDDED
>>AES-EBU HDMI
>> SAMPLERATE

>> Service
>> SERVICE NAME
>> SERVICE PROVIDER
>> SERVICE ID
>> PMT PID
....

>> Output
>> VIDEO
>> COMPRESSION
>> ENCODING TYPE
>> BITRATE
>> PROFILE
>> LEVEL
>> AUDIO
>> TYPE
>> ASI
>> MULTICAST
>> UDP/RTP
>> TARGET IP
>> PORT
>> UNICAST
>> UDP/RTP
>> TARGET IP
>> PORT

how we can implement it.

推荐答案

我看不出问题是什么.这是液晶显示屏,所以甚至可以运行Windows吗?如果不是,则C ++不支持菜单,因此答案必须取决于您将使用的特定UI库.或者,您是在问我们如何容纳16条线(只有4条线)?这又取决于您正在编程的内容,可以滚动吗?如果没有,您就不能,您需要重新设计菜单.对我来说似乎很明显.
I don''t see what the question is. This is an LCD, so is it even running Windows ? If not, C++ has NO menu support, so the answer has to rely on the specific UI library you will use. Or are you asking us how to fit 16 lines where you can only have 4 ? That depends again on what you''re programming, can you have scrolling ? If not, you can''t, you need to redesign your menus. Seems obvious to me.


在星期四晚上,这是一个不错的练习:
Thats a nice exercise for a thuresday evening:
#pragma once
#include <stdio.h>
#include <tchar.h>

enum{ LCD_LINES=4, };
typedef enum
{
  APP_QUIT,
  MAIN,
    Controls,
    MANAGEMENT_IP,
    Input,
    AUDIO,
    Service,
    Output,

  // Controls,
    Controls_TS_IP,
    Controls_IP_ADDR,
    Controls_GATEWAY,
    Controls_SUBNET_MASK,
 
  // MANAGEMENT_IP,
    MANAGEMENT_IP_IP_ADDR,
    MANAGEMENT_IP_GATEWAY,
    MANAGEMENT_IP_SUBNET_MASK,
 
  // Input,
    Input_VIDEO,
    Input_SOURCE,
    Input_SDI,
    Input_HDMI,
    Input_COMPONENT,
    Input_WIDTH,
    Input_HEIGHT,
    Input_VIDEO_FORMAT,
    Input_FRAMERATE,
 
  // AUDIO,
    AUDIO_SOURCE,
    AUDIO_ANALOG,
    AUDIO_EMBEDDED,
    AUDIO_AES_EBU_HDMI,
    AUDIO_SAMPLERATE,

  // Service,
    Service_SERVICE_NAME,
    Service_SERVICE_PROVIDER,
    Service_SERVICE_ID,
    Service_PMT_PID,

  // Output,
    Output_VIDEO,
    Output_COMPRESSION,
    Output_ENCODING_TYPE,
    Output_BITRATE,
    Output_PROFILE,
    Output_LEVEL,
    Output_AUDIO,
    Output_TYPE,
    Output_ASI,
    Output_MULTICAST,
    Output_UDP_RTP,
    Output_TARGET_IP,
    Output_PORT,
    Output_UNICAST,

} MENUITEMS;

#define  ITEM


(S)__ T(#S), const TCHAR * __ menuitems [] = { ITEM
(S)  __T( #S ), const TCHAR*  __menuitems[] = {   ITEM


这篇关于在多子菜单中切换状态的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆