很简单的问题=50大洋——>如何使Mdi主窗口不显示活动子窗口的标题(50分)

  • 主题发起人 主题发起人 void
  • 开始时间 开始时间
V

void

Unregistered / Unconfirmed
GUEST, unregistred user!
with params do
Stytle:=Stytle and not ???
或者 ???
 
对不起,是
"style"
 
不会没有人知道吧???????
各位大虾该出手时就出手啊!
 
如果嫌分太少,大家可以提意见嘛
干吗都不理睬呢?:(
 
呵呵,很简单的问题,我就给个很简单的回答吧。
在你的 MDIChild Form 的 OnActive 事件里把自己的 Caption 设置为空,OnDeactive 里
把 Caption 设回来。哈哈,保证可行。
 
>>to BaKuBaKu
我知道在VC中只需一句话:
CS.Style&=~FWS_ADDTOTITLE
Delphi却说FWS_ADDTOTITLE没有定义
Delphi不会这样吧,如此繁琐?!
 
设置窗体的BODERSTYLE属性为NONE即可!
 
to mountain_sea:
不至于用这么狠的招数吧。
没有Title的MDI主窗口看起来真逗
可惜不是我要的效果
还有什么办法吗?谢谢。
 
to BaKuBaKu:不行啊,最大化的时候还是会显示在主窗口里的!
to void:能不能不用MDI呀!MDI真的不好用耶!而且M$都对MDI放弃支持了,并且Delphi和VC对MDI的实现很不一样的!
 
你在VC下得到FWS_ADDTOTITLE的整型值,然后用SetWindowLong加进去就可以了
 
FWS_ADDTOTITLE=32768
 
to zeroworld:还是不行!
 
我想了好多办法,连TCustomForm的源代码都看过了,实在没办法。
这个必须在窗口创建前设定才有用,Delphi有不提供PreCreateWindow()函数
 
多谢各位热心的朋友
>>能不能不用MDI呀!
程序差不多了,懒得在改。

我这么作也不行 :( 5555555555
procedure TMainForm.CreateParams(var Params: TCreateParams);
begin
inherited createparams(params);
with Params do
Style:=Style and (not $00008000); //FWS_ADDTOTITLE);
end;
 
截获主窗口的WM_GETTEXT:
protected:
procedure WMGetText(var Message: TWMGetText); message WM_GETTEXT;

procedure TMainForm.WMGetText(var Message: TWMGetText);
const
Cap: String = '主窗口';
begin
with Message do begin
StrPCopy(Text, Cap);
Result := Length(Cap) + 1;
end;
end;
 
void:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
555
import
I
I
回复
0
查看
554
import
I
后退
顶部