来问个折磨死我的问题:窗体的动态全屏

quickboy19821982 2010-05-18 10:59:24
我目前的代码是这样的:
if self.BorderStyle=bsNone then
begin
self.Refresh;
self.BorderStyle:=bsSizeable;
end
else
begin
self.Refresh;
self.BorderStyle:=bsNone;
end;

然后运行的时候,狂按组合键进行窗体全屏的切换,突然,系统就会报错:
Project xxx.exe raised exception class EOSError with message 'System Error. Code: 5. 拒绝访问。'

不知道怎么解决?
或者有其他的动态切换全屏且标题栏并可挡住任务栏的代码供参考

补充说明:我初始状态是非全屏的,第一次切换到全屏是不会报错的,但第二次等待时间大约5秒后再次切换就出错了
...全文
94 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdzeng 2010-05-18
  • 打赏
  • 举报
回复
用CreateDesktop建一个桌面,把你窗口显示在新桌面上
Mit1208 2010-05-18
  • 打赏
  • 举报
回复
up.
quickboy19821982 2010-05-18
  • 打赏
  • 举报
回复
我再补充一下,快捷键代码里只有这段代码~
我跟踪了下,是执行到self.BorderStyle:=bsSizeable;这一句才报错的~
if的判断是能读到当前的BorderStyle=bsNone
按理应不会有权限问题,我初始的BorderStyle是bsSizeable
yanghailun_ 2010-05-18
  • 打赏
  • 举报
回复
权限的问题? 读写文件冲突问题?
bdmh 2010-05-18
  • 打赏
  • 举报
回复
没有这么暴力的测试过,你resize事件中 有代码吗,或者按键事件中是否有不合适的代码

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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