forms - 如何以 ncurses 的形式移动字段
问题描述
我使用 ncurses 和特殊形式用 C 语言编写了一个程序。我需要在填写表格时移动表格的特定字段。我尝试了 move_field,但它不起作用。这是我写它的方式:
if (typact==ADSD && rowc>rowg )
{
move_field(field[ietg],rowg=rowc,colg);
refresh();
}
我确定move_field
已执行(我使用xCode来调试我的程序)。我认为刷新是不够的。我也尝试像这样move_field
放置:unpost_form
post_form
if (typact==ADSD && rowc>rowg /* && !field_status(field[ietg]) */ )
{ unpost_form(my_form);
move_field(field[ietg],rowg=rowc,colg);
post_form(my_form); refresh();
}
但它不再起作用了。表格被删除并重新发布,没有我写的文字,并且该字段始终在同一个地方。
我怎么能用move_field
?
解决方案
手册页说
该函数
move_field
将给定字段(必须断开)移动到屏幕上的指定位置。
您可以通过检索当前字段列表(及其长度使用)断开字段,从该列表中删除该字段并使用更新列表。 form_fields
field_count
set_form_fields
使用 时move_field
,您还必须(暂时)使用 取消发布表单unpost_form
。否则,move_field
返回E_POSTED
(表单已发布)。移动字段后,使用post_form
让表单驱动程序使用更新的表单。
ncurses 源文件中的test/move_field.c
文件提供了这些调用的示例。
推荐阅读
- python - 如何在 python pandas 中将 pandas 数据帧写入 xlsb 文件
- svg - 在 A-Frame 中渲染 SVG 图标的正确解决方案是什么,这样我的某些图形就不会出现这种模糊效果?
- javascript - 如何一个接一个地显示视频列表?
- javascript - 如何检查具有类的元素之一的高度是否超过阈值?
- python-3.x - Outlook 使用 python win32com 仅从特定日期范围迭代邮件
- javascript - 如何生成多个
- c++ - 如何在 QT 中读取多个 .txt* 文件?
- elasticsearch - 如何创建不应匹配多个类别中的任何一个的 ElasticSearch 查询
- google-app-maker - 我正在尝试从客户端脚本更新字段的值
- shell - awk 命令后删除文件