关闭CAknWaitDialog的CANCEL能力

继承 CAknWaitDialog,控制右软键,搞了小半天,发现了一个flag EEikDialogFlagNoUserExit

加到RSS里.取消buttons字段,搞定.

 flags=EAknWaitNoteFlags|EEikDialogFlagNoUserExit;
 //buttons = R_AVKON_SOFTKEYS_CANCEL;

symbian的有时会让人感到绝望,有时又会有一些东西会让你感到幽默,

04-01
### 如何正确执行 Cancel 操作 在软件开发和用户体验设计中,“Cancel”操作通常用于终止当前正在进行的任务或流程。以下是关于如何正确实现“Cancel”功能的关键点: #### 1. 用户确认提示 为了防止误操作,在触发 `Cancel` 功能之前,应向用户提供明确的警告消息,告知其可能丢失未保存的数据。这可以通过弹窗或其他交互方式完成[^1]。 ```javascript if (confirm("您即将取消此操作,所有未保存的数据将会丢失。是否继续?")) { performCancellation(); } else { resumeEditing(); // 如果用户选择不取消,则恢复编辑状态 } ``` #### 2. 数据回滚机制 如果用户的操作涉及修改数据库记录或者文件内容,那么在调用 `Cancel` 后需要确保能够安全地撤销这些更改。对于异步任务来说,这一点尤为重要[^3]。 ```c++ void rollbackChanges(Connection* pCon) { if (pCon->adState == adStateOpen) { // 确认连接处于打开状态时才进行清理工作 closeConnection(pCon); } } // 调用示例 rollbackChanges(currentDatabaseConnection); ``` #### 3. 针对特定目标的操作取消 某些场景下(比如蓝牙通信中的连接建立),还需要支持基于唯一标识符(如BD_ADDR)来精确控制哪个具体实例应该被中断[^2]。 ```python def cancel_connection(bd_addr): command_packet = create_hci_command(HCI_CREATE_CONNECTION_CANCEL, bd_addr=bd_addr) send_to_device(command_packet) # 使用方法 cancel_connection(target_device_address) ``` 以上就是几种常见的实现模式及其注意事项。开发者应当依据实际应用场景灵活调整策略以满足需求。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值