阻塞提示框

函数原型:

void CEikonEnv::AlertWin(const TDesC& aMsg);
void CEikonEnv::AlertWin(const TDesC& aMsg1,const TDesC& aMsg2);
static void CEikonEnv::InfoWinL(const TDesC& aFirstLine,const TDesC& aSecondLine);

AlertWin为CEikonEnv类的非静态成员函数,InfoWinL为CEikonEnv类的静态成员函数。
AlertWin只能在ui、view和container中使用,使用方法如下:

iEikonEnv->AlertWin(_L("text"));

InfoWinL可以在任意类中使用,使用方法如下:

CEikonEnv::Static()->InfoWinL(_L("note:"), _L("text"));

为方便使用,常定义宏来使用这类提示框,如:

#define DEBUG_DIALOG(x) iEikonEnv->AlertWin(##x);
#define DEBUG_DIALOG1(x) CEikonEnv::Static()->InfoWinL(_L("note:"), ##x);
#define DEBUG_DIALOG2(x,y) CEikonEnv::Static()->InfoWinL(##x, ##y);

可以这么使用:
TBuf<32> buf;
buf.Copy(_L("test"));
DEBUG_DIALOG(buf);
DEBUG_DIALOG1(buf);
DEBUG_DIALOG2(buf,_L("text"));

此类提示框阻塞线程,只有用户按键退出提示框后,后面的程序才能接着运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 Unity3D 中的 UI 系统来实现一个对话阻塞框。下面是一个简单的示例代码: ```csharp using UnityEngine; using UnityEngine.UI; public class DialogManager : MonoBehaviour { public GameObject dialogBox; public Text dialogText; private bool isDialogActive = false; void Start() { dialogBox.SetActive(false); } public void ShowDialog(string dialog) { isDialogActive = true; dialogBox.SetActive(true); dialogText.text = dialog; } public void HideDialog() { isDialogActive = false; dialogBox.SetActive(false); } void Update() { if (isDialogActive && Input.GetKeyDown(KeyCode.Space)) { HideDialog(); } } } ``` 在上述代码中,我们首先需要创建一个 UI 面板,包含一个文本框用于显示对话内容。然后,创建一个 `DialogManager` 脚本,将该脚本挂载到对应的游戏对象上。 在 `DialogManager` 脚本中,我们定义了一个 `dialogBox` 游戏对象和一个 `dialogText` 文本组件,用于显示对话框。`isDialogActive` 变量用于记录对话框的显示状态。 `ShowDialog` 方法用于显示对话框,接受一个字符串参数作为对话内容,并将对话框设置为激活状态,并将对话内容显示在文本组件中。 `HideDialog` 方法用于隐藏对话框,将对话框设置为非激活状态。 在 `Update` 方法中,我们检测用户是否按下了空格键,如果是,并且对话框处于激活状态,则隐藏对话框。 这样,你就可以通过调用 `ShowDialog` 方法来显示对话框,并通过按下空格键来关闭对话框。你可以根据需要进行进一步的定制和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值