| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 830 人关注过本帖
标题:.ControlBox指定是否在表单左上角显示程序图标,以及是否在表单右上角显示最 ...
取消只看楼主 加入收藏
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
结帖率:100%
收藏
 问题点数:0 回复次数:3 
.ControlBox指定是否在表单左上角显示程序图标,以及是否在表单右上角显示最小化、最大化、还原和关闭按钮
.ControlBox属性:指定是否在表单左上角显示程序图标,以及是否在表单右上角显示最小化、最大化、还原和关闭按钮

那啥……能否指定:
当用户在表单左上角的程序图标上单击时,不弹出控制菜单【还原/移动/大小/最小化/最大化//关闭】?
毕竟那个控制菜单是Windows 3.2年代的产物,2020年代的人似乎并不需要它,可特别烦人的是:
在某些情况下,它碍我事了。
顶它不顺,却又干它不掉……狠不爽的说。

求教:
不知有无API,能否SendMessage个参数过去,将控制菜单关掉?
然后世界从此就清净啦。
搜索更多相关主题的帖子: 指定 表单 还原 显示 是否 
2023-03-27 12:27
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
收藏
得分:0 
自己查了一下,可能用这个API:
SetWindowLong(thisForm.hWnd, (-16), windowStyles)
不过很可惜,查了一遍windowStyles属性值,没找到想要的“控制菜单”相关值:
https://learn.
2023-03-27 14:46
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2023-3-27 15:25:50的发言:

窗口样式是 WS_SYSMENU equ 80000h
VFP的ControlBox应该是设置WS_SYSMENU样式的效果,去掉WS_SYSMENU样式相当于ControlBox=.f.,这不是你想要的。
如果想保留标题图标和右上角按钮,可以拦截消息。


确实,我想保留标题图标和右上角的几个按钮,只是想屏蔽左上角控制菜单。
2023-03-27 15:31
cssnet
Rank: 5Rank: 5
等 级:职业侠客
威 望:5
帖 子:351
专家分:335
注 册:2013-10-4
收藏
得分:0 
以下是引用吹水佬在2023-3-27 16:31:29的发言:

试了一下,删除菜单也会将右上角的按钮删除掉。
只好拦截点击图标消息和右击标题消息。顶层表单右击标题会弹出菜单,不是顶层表单好像没有。
DECLARE long SendMessage IN User32 long,long,long,long
of = CREATEOBJECT("form1")
of.show
READ EVENTS
RETURN

DEFINE CLASS form1 as Form
    ShowWindow = 2
    AutoCenter = 1
   
    PROCEDURE Destroy
        CLEAR EVENTS
    ENDPROC
   
    PROCEDURE Init
        BINDEVENT(this.hWnd, 0x00A4, this, "myMenuMsg")    && WM_NCRBUTTONDOWN    equ 00A4h
        BINDEVENT(this.hWnd, 0x0112, this, "myMenuMsg")    && WM_SYSCOMMAND       equ 0112h
    ENDPROC

    PROCEDURE myMenuMsg(hWnd, Msg, wParam, lParam)
        IF (Msg==0x00A4) OR (Msg==0x0112 AND wParam==0xF093)
            RETURN
        ENDIF
        SendMessage(hWnd, Msg, wParam, lParam)
    ENDPROC
ENDDEFINE


噢,原来是这样!又学了一招!
非常感谢吹版!
2023-03-27 16:48
快速回复:.ControlBox指定是否在表单左上角显示程序图标,以及是否在表单右上角 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013855 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved