SetWindowText无效

andylauxing 2015-11-18 05:10:21
以下调用无效,表单标题没有变,为什么?也不报错.

DECLARE INTEGER SetWindowText IN user32;
INTEGER hWnd,;
STRING @lpString

Hwnd=thisform.hwnd
customtext="标题1"

SetWindowText(Hwnd,@customtext)

...全文
721 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
andylauxing 2015-11-20
  • 打赏
  • 举报
回复
引用 13 楼 dkfdtf 的回复:
最优性能时就自动关掉了系统主题 不过这不应该就使 SetWindowText 不起作用 用发送 WM_SETTEXT 消息的方法在经典样式下结果一样,看来还是有 bug,打开系统主题就起作用了 #define WM_SETTEXT 0x000C Declare Long SendMessage in win32api Long, Long, Long, String SendMessage(Thisform.hWnd, WM_SETTEXT, 0, '标题2')
应该是MS的BUG了.
andylauxing 2015-11-19
  • 打赏
  • 举报
回复
没有什么Cursor,原来是在C++中调用此函数的,也是一样效果,所以改在VFP中试试,也是不行,但这样表单最小化到任务栏看标题是变了,但最大化看表单,标题并未改变,
andylauxing 2015-11-19
  • 打赏
  • 举报
回复
是呀,就一表单一个按钮,我就是想测试这个WIN API 的调用表单句柄,看能不能更改标题,就是不生效.
都市夜猫 2015-11-19
  • 打赏
  • 举报
回复
最优性能时就自动关掉了系统主题 不过这不应该就使 SetWindowText 不起作用 用发送 WM_SETTEXT 消息的方法在经典样式下结果一样,看来还是有 bug,打开系统主题就起作用了 #define WM_SETTEXT 0x000C Declare Long SendMessage in win32api Long, Long, Long, String SendMessage(Thisform.hWnd, WM_SETTEXT, 0, '标题2')
andylauxing 2015-11-19
  • 打赏
  • 举报
回复
哦,我是用了系统最优性能主题,没有用windows经典样式.
都市夜猫 2015-11-19
  • 打赏
  • 举报
回复
嗯 我又试了下, 关掉系统主题,选 Windows 经典样式时确实就出现你说的问题了 不知道这是 vfp 还是 windows 的 bug
xuzuning 2015-11-19
  • 打赏
  • 举报
回复
没有问题
andylauxing 2015-11-19
  • 打赏
  • 举报
回复

andylauxing 2015-11-19
  • 打赏
  • 举报
回复


请看图片
andylauxing 2015-11-19
  • 打赏
  • 举报
回复
没有用什主题,就一普通表单,顶层表单模式, 奇怪了,我用的是user32,你用的是win32api,代码改成跟你一模一样还是一样呀。
都市夜猫 2015-11-19
  • 打赏
  • 举报
回复
是不是用了什么特殊的主题,或者第三方的皮肤
都市夜猫 2015-11-19
  • 打赏
  • 举报
回复
我试了没问题,可以立即改变窗口标题

都市夜猫 2015-11-18
  • 打赏
  • 举报
回复
没道理吧,这么简单的 win32api ! 你确定一楼的代码与你运行的代码是一模一样的吗? 唯一有可能的是你打开了一张表,而表里面又有名为 customtext 的字段,且值与当前表单标题相同 再说了,改标题直接改 Caption 属性不行吗? 所以我怀疑,你一楼的代码不是你实际运行的代码

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧