当前位置: 代码迷 >> VFP >> vfp新手的一些有关问题
  详细解决方案

vfp新手的一些有关问题

热度:5413   发布时间:2013-02-26 00:00:00.0
vfp新手的一些问题
本帖最后由 liaoxiaofeng 于 2013-01-13 22:36:37 编辑
vfp新手请教大家,最近在网上下了个vfp教程,打算给整个小程序为自己的工作省点事,但有问题不甚了解,请教大家,使用的是vfp 9.0:
1.
让表单中的文本框textbox不可用,
表单的init里加了thisform.setall("Enabled", .F., "TextBox"),运行发现在表单中的文本框仍然可点击,是否setll哪里设错了?


2.
如果改变文本框中的字体颜色,当文本框设为enabled = .F.时,发现文本框字体变成了浅灰色,而且和框的底色配起来的话就看起来就比较不起眼了,如图中的1,
怎么调节文本框不可用时的文字颜色及文本框的底色呢? 如图中的2。



3.
请问如何实现图中3的效果。
图中的3,TYPE自己有一个表a,里面有两个字段,一个是code,一个是desc(即code的描述),
现在想实现的功能就是: 当TYPE的文本框写入code时,当在文本框按回车确定时,旁边显示对应code的描述字段。
自己尝试一些方法,但表单在浏览时,不同记录切换时,这个描述就不会更新。



谢谢!!!



------解决方案--------------------------------------------------------
问题1.
thisform.setall("Enabled", .F., "TextBox")
用法没错,检查一下表单中,还有什么地方设置了 ENABLED 属性

问题2.
表单的 INIT 事件代码
*---设置失效控件的背景色
THISFORM.SetAll([DISABLEDBACKCOLOR],RGB(255,255,255),[TEXTBOX])
*---设置失效控件的前景色
THISFORM.SetAll([DISABLEDFORECOLOR],RGB(255,0,0),[TEXTBOX])
问题3.
在该文本框的 LOSTFOCUS 事件中,写入以下代码试试
SELECT 表A  &&你自己的数据表的别名
LOCAL FOR ALLTRIM(CODE)==ALLTRIM(THIS.VALUE)
IF FOUND()
   THISFORM.LABEL1.CAPTION=ALLTRIM(DESC)
ELSE
   RETURN MESSAGEBOX([没找到与]+ALLTRIM(THIS.VALUE)+[匹配的记录])
ENDIF
THISFORM.REFRESH

------解决方案--------------------------------------------------------
属性框的默认值,对表单INIT事件中设置的文本框的ENABLED属性没有影响,认真检查一下,表单中肯定有文本框的ENABLED属性设置,否则不会出现你所说的问题。
------解决方案--------------------------------------------------------
肯定是哪里设置了enabled属性了.自己先找找
  相关解决方案