关于form的几个问题(100分)

  • 主题发起人 主题发起人 Serena
  • 开始时间 开始时间
S

Serena

Unregistered / Unconfirmed
GUEST, unregistred user!
1.定义了两个form,form1和form2;在form1中调用form2,现在想
在form2显示的时候,form1的菜单还可以看得见,可以执行;但在点
form1的菜单项时,form2的不会被form1盖住.我试过form2.show,
但是一点form1的菜单,就会显示form1,把 form2盖住了.
2.form的右上角的最小、最大、关闭的bordericon,我想保留最小、
最大,去掉关闭,怎么做?把bordericons的bisystemmenu设为false,
就都没有了。
3。程序执行的时候想让form不可移动,即用鼠标不能拖动。

以上几个问题,请各位大虾多多帮助。
 
1)第一个问题是一个合并菜单的问题,在delphi从入门到精通上有例子。好象是与菜单的automerge属性有关。
2)选择form的bordericons属性,将不要的按钮选false
 
1.看不懂
2.做不到,只能把它变灰无效
var a:Thandle;
begin
a:=windows.GetSystemMenu(form1.handle,false);
windows.DeleteMenu(a,sc_close,mf_bycommand);
end;
 
1、把form2的fromstyle设为fsstayontop就可以了。
2、同意flintstone
3、为了让窗口不能移动,可以自已拦下 WM_NCHITTEST 消息, 对该消息的处理为:一概回应鼠标点在窗口的 Client 区域, 相信这个视窗就呆呆的不会动了。
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
inherited;
// 这样,移动就不可能了...
Msg.Result := HTCLIENT;
end;
这是从别人哪儿学来得,没有试。
 
1. 是不是把form2 设成 AlwaysOnTop
2. 同 Flintstone
 
对不起,没看到第三个问题
王安鹏的方法是对的。
 
1.把form的fromstyle设为fsStayOnTop。
2.g: Flintstone。
3.Ido
n't know.
 

2)选择form的bordericons属性,将不要的按钮选false
我试过这样不行, 将biSystemMenu设为false,biMinimize,biMaxmize设为
true,这样执行时候form 上的bodericons就一个都不显示了.

我就想去掉关闭的按钮,保留最大,最小按钮.
 
好像不能去掉,
要不先 disable, 再用标题栏颜色画一下?
 
2.www的方法可以
 
多人接受答案了。
 
后退
顶部