关于几个很棘手的问题(300分)

  • 主题发起人 主题发起人 lruikun
  • 开始时间 开始时间
L

lruikun

Unregistered / Unconfirmed
GUEST, unregistred user!
关于几个很棘手的问题:<br>1.如何将FORM的标题栏的颜色改变?<br>2.如将整个菜单颜色改变包括菜单的Border?<br>3.如何控制Win2000中的HintWindow何用程序进行控制什么时候显示什么时候消失?<br>解决一个问题给100分.请各位大力相助!!!!!!<br>
 
Owner Draw 吧,截获 WM_NCPAINT 消息的说。
 
1. WM_NCPAINT 消息,看一看 RxLib RxCaption 就知道了。<br>2. 菜单的 Owner Draw.<br>3. 不明白是所有的程序还是使用 Delphi 的?如果是所有的,好像没办法。
 
...<br>我只好推荐控件了:<br>1.MarScap<br>2.CoolMenu<br>3.:(
 
mikedeakins:<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.可否说得更详细一点.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.我使用过OwnerDraw了但只能改变菜单内的颜色但菜单的边框仍然是默认的颜色.<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3.我的程序是用Delphi编写的.<br>CJ:<br>&nbsp; 1.MarScap是什么控件?在哪可以当. <br>&nbsp; 2.CoolMenu真的可以将整个菜单中所有的颜色都改变吗?
 
提问者:<br>如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。<br>请认真阅读大富翁论坛规则说明 &nbsp;http://www.delphibbs.com/delphibbs/rules.asp
 
&nbsp;可以用setsyscolor这个api
 
对于第一个问题,都可以用一个替代的方法<br>将窗口的 boderstyle 设置为 bsNone<br>这样就没有表弟栏了,你可以自己用label和image伪造一个<br>想要什么花色的就可以做什么花色的<br><br>其他问题:听 :-p
 
1,2的解决方法:你可以用API涵数:GetWindowDC()来返回菜单的HDC,这个API返回的rect是包括了菜单的<br>border的,所以就可以用绘图涵数来盖掉border:)<br><br>3的解决方法:至于控制HintWindow,你可以在程序里面自定义一个新的THintWindowClass,然后override<br>其中的ActiveHint等等涵数,还可以直接用该类的hint弹出涵数来达到目的:)
 
去掉标题栏,自己重新加上一个
 
后退
顶部