任务栏显示标题

xinwen609 2010-01-13 08:30:10
_screen.caption='信息管理系统'+'账号:'+user
程序在windows的任务栏能否显示为:信息管理系统
后面的 '账号:'+user 不显示出来?
看见有些程序可以,但不知道怎么用。
...全文
93 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinwen609 2010-01-14
  • 打赏
  • 举报
回复
按照方法1,将_screen.showintaskbar=.f.
运行后,提示:属性showintaskbar只读哦。
都市夜猫 2010-01-14
  • 打赏
  • 举报
回复
一种骗术而已,可以这样实现:

方法1:程序拥有两个窗口(表单),主窗口设置为不显示在任务栏中(ShowInTaskBar = .F.),另一个窗口设置为显示在任务栏中,但不可见(Visible = .F. 或移出屏幕可视区域)。

方法2:主窗口设置成无边框样式,然后自己画标题栏

方法3:正常窗口,截获 Windows 的 WM_NCPAINT 消息,用 DrawFrameControl api 函数再盖一个窗口标题

其中方法1 vfp 最容易实现,不需要牵扯到 win32api 调用

十豆三 2010-01-14
  • 打赏
  • 举报
回复
显示不出来是不是后面是 ...,应该长度问题
xinwen609 2010-01-14
  • 打赏
  • 举报
回复
谢谢两位先!

试了一下,使用_screen比较麻烦。

真不行就只能往状态栏里添加这些信息。
都市夜猫 2010-01-14
  • 打赏
  • 举报
回复
如果你的程序一定要用到 _Screen,需要你换位思考,这样试验一下:

1. 新建一表单,设置 Desktop 为 .T. 并且 ShowInTaskBar 为 .F.
2. 在此表单的 Init 事件中写代码:
This.AddProperty('cc', _Screen.Caption)
_Screen.Caption = This.Caption + ' - 账号:AAA'
_Screen.Move(-10000, -10000)
3. 在此表单的 Destory 事件中写代码:
_Screen.Caption = This.cc
_Screen.Move(0, 0)
4. 保存为 ttt.scx
5. 在 vfp 命令窗中 do form ttt.scx
十豆三 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xinwen609 的回复:]
按照方法1,将_screen.showintaskbar=.f.
运行后,提示:属性showintaskbar只读哦。
[/Quote]

方法1:程序拥有两个窗口(表单),主窗口设置为不显示在任务栏中(ShowInTaskBar = .F.),另一个窗口设置为显示在任务栏中,但不可见(Visible = .F. 或移出屏幕可视区域)。

dkfdtf 说是的表单,不是 _Screen
都市夜猫 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xinwen609 的回复:]
按照方法1,将_screen.showintaskbar=.f.
运行后,提示:属性showintaskbar只读哦。
[/Quote]

帮助文件中说得很清楚:

The ShowInTaskbar setting is ignored unless the ShowWindow Property value = 2

也就是说只能用于设置顶层表单
发帖
VFP

2576

社区成员

VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
帖子事件
创建了帖子
2010-01-13 08:30
社区公告
暂无公告