对于NXOpen::BlockStyler::IntegerBlock控件,在输入数值后,如果不按“ENTER”,或界面上没有切换他控件,数值并未真正输入到控件中。比如在IntegerBlock控件中输入了数值,然后没有按“ENTER”,而此时需求要求在其他选择控件中需要获取IntegerBlock控件中的值,如果使用IntegerBlock->Value(),那么获取的是输入前的数值。那这种情况,需要怎么处理?
1、通过转换成MFC控件获取,这里就不描述过程了,主要介绍下一个方法。
2、通过内部函数可以直接获取,使用UGS::UICOMP_integer::get_uncommitted_value,可以获取正在输入的数值或者输入超过限制的值;或者使用UGS::UICOMP_integer::keyboard_focus,使IntegerBlock控件自动完成,然后再次IntegerBlock->Value()也可以。