如何在标题栏加按钮?(40分)

C

chrono

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在其他窗口的标题栏加按钮?
象zipmagic,洪涛英汉通之类?
抱歉,新手,分很少.
 
窗口的真正标题栏如何加按钮我不知道, 不过要做到这样的效果也是有办法的.

去掉窗口的标题栏, 在窗口上方加一PANEL. 你再放什么都可以了.
 
还要解决拖动问题,允许用户按主窗口的任意位置都能拖动窗口,
方法是处理Windows询问是否标题栏区域的一个消息,返回True,
也就是欺骗它,让它认为鼠标是在标题栏。
 
代码写出来了!
在你的Form中定义以下过程:
TForm1=class(TForm)
procedure WMNCHitTest(var Msg:TWMNCHitTest);message WM_NCHitTest;
....
end;

实现代码:
procedure TForm1.WMNCHitTest(var Msg:TWMNCHitTest);
begin
//告诉Windows,鼠标是在标题栏上
Msg.Result:=HTCaption;
end;

把Form的BorderStyle设置为bsNone,就没有标题栏了,
现在可以在你的Form上放按钮了,记得放一个关闭按钮。
 
BorderStyle设置为bsNone后会很难看,可以放一个Bevel,
再设置一下Bevel的风格就可以了,
不要用Panel,因为Panel从TWinControl继承来,
自己也是一个窗口,它会挡住主Form,
Bevel就不同,不是从TGraphicControl继承来,
本身不是窗口,只是画线而已。
 
我有一个控件可完成你的要求,非常不错,你要吗?先看看它的demo就够了。
 
menxin
能给我一个吗!我那个控件老装不上.谢谢! Email: Delphi201@263.net
 
D4: I have send it to you (THEER TIMES!!!) -(
the last time is OK.
 
控件集LMD3中有一个很适合你的控件,如需要发信给我。
 
menxin老兄:
控件以收到.但我在D4上老装不上,为何!老提示我却dcu文件.
能告诉我为何吗!(Email Delphi201@263.net)
 
menxin的空间是那个啊?
不要是for d3的啊,有没有原码?没有原码就完了
 
出差刚回来,所以才看到这问题。
我试了一下,是有问题,真不好意思,继续等其它人的答案吧。
 
在我影响中有一个专门title的控件,帮你找一下.
 
有个控件叫PGDsgFrm专门干此事,十分了得,呵呵
我以前有,可是现在找不着了
 
大家理解错了!
我说的是在别的窗口比如WORD,
资源管理器.在自己的窗口加按
钮我也会.
再次麻烦大家.
 
到这里<a href="http://www.gislab.ecnu.edu.cn/delphi/attachments/pgdsg1x.zip">下载
 
可以使用FindWindow(0&,Caption)函数得到其它窗口的Handle,
Handle得到了,还有什么做不到的呢?
 
chrono:

这个问题已经很长时间没有人参加讨论,为保持版面
整洁,节约网友时间,请提问者采取必要处理措施。
关于本版管理细则,请参见<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=111927">这个</a>问题。如两天
内提问者没有响应,我将采取强制措施。

如有管理建议,请到<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=111927">这里</a>提出。谢谢!
 
多人接受答案了。
 
顶部