失去焦点变灰不是正常的吗?你的应用程序界面只能有一个焦点,根据你选择的功能切换焦点,很符合逻辑啊。
你是想获得焦点时返回刚才那个节点吧?可以在失去焦点时,记录index,在获得焦点时,在设置回这个index。。。
** 失去焦点后,保持选中突出色,涉及其他3处:HideSelection=.f.;Refresh装载时初始化3属性;NodeClick恢复原选中项的颜色 If Type([This.SelectedItem])=[O] And (Type([])#[C] Or This.SelectedItem.Key#) &&Key比对比Node比对稳定 ThisForm.LockScreen=.t. &&SelectedItem改颜色会闪屏 =This.SelectedItem.Key =This.SelectedItem.BackColor &&备份原颜色 =This.SelectedItem.ForeColor This.SelectedItem.BackColor=Rgb(0,120,215) This.SelectedItem.ForeColor=Rgb(255,255,255) ThisForm.LockScreen=.f. Endif
If Type([This.SelectedItem])=[O] And ... ThisForm.LockScreen=.t. .... This.HideSelection = .t. && *** ThisForm.LockScreen=.f. Endif