失去焦点变灰不是正常的吗?你的应用程序界面只能有一个焦点,根据你选择的功能切换焦点,很符合逻辑啊。
你是想获得焦点时返回刚才那个节点吧?可以在失去焦点时,记录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