一个关于控件怪问题,解决的朋友会得到200分! (30分)

  • 主题发起人 主题发起人 jxc163
  • 开始时间 开始时间
J

jxc163

Unregistered / Unconfirmed
GUEST, unregistred user!
开发环境:XP/delphi7(这个控件目前已经可以在98、2000下正常使用。)
要求:
改写delphi自带的数据库导航栏,使其可以显示Caption.
测试环境:
XP 启动Themes 服务(XP的桌面效果),Delphi工程中使用XPMan单元(不是组件单元),控件放到一个Panel上按钮的字体不会变粗。
代码太长,不方便贴出,如果想试试自己能不能解决这个问题,请发邮件给我 jxc163@163.net 或 jxc163@21cn.com ,清注明“数据导航问题”。
代码在这里: http://www.2ccc.com/article.asp?articleid=404

问题解决即开贴送分。
另:这个问题在98、2000、以及当XP不启动Themes服务时均不会出现问题。

在CSDN的贴子是: http://expert.csdn.net/Expert/topic/2543/2543741.xml?temp=1.684207E-02
我在这里只有200分,解决的朋友也可以选择到CSDN拿分。
 
你的XPMen单元是否不完整?

unit XPTheme;

{
本文件包含 XP 效果引用。任何需要在 XP 下显示成 XP 标准程序效果的程序
必须在 Project 中的 Uses 最前面引用本单元(如果您的 Project 文件中引用
了 DelphiMM 或 ShareMem 单元的话,可以将本单元的引用放在第二位)。
}

interface

implementation

{$R XPTheme.res}

uses
CommCtrl;

initialization
{ Note: This call is required!}
[red]InitCommonControls;[/red]//必须有这一行
end.
 
是Delphi7自带的的那个
 
换我这个试试,我知道Delphi7自带的那个本身就有问题。注意,自己生成XPTheme.res文件,rc代码如下:
1 24 XPTheme.manifest
XPTheme.manifest文件内容如下:
代码:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    name="WindowsXP"
    processorArchitecture="x86"
    version="1.0.0.0"
    type="win32"/>
<description>WinXPSoft</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>
</assembly>
 
有没有编译好的RC文件,请给我一个好吗,我的E-mail是 jxc163@163.net ?我试试,还有我看了Delphi的那个xpman单元,发现没有InitCommonControls这个初始化的操作。

 
to Zqw0117:我把你贴在上面的几个文件都编译过,把那个过程加到我的程序中,把在XP上不能运行,会提示出错,98下可以运行,不知是不是资源文件的问题。如果你有可以正确使用的资源文件以及XPTheme.pas请发一份给我好吗?TKS!
我的E-mail:jxc163@163.net
jxc163@21cn.com
 
已经发送给您了,请查收邮件。至于出错的问题,你必须保证XPTheme.pas文件的引用在.dpr文件的第一个uses语句后面,不能放到第二个或者form1.pas等文件里面,必须是.dpr里面的引用。我使用的很好啊。

program project1;

....

uses
XPTheme,//必须在第一位
Forms,
Windows,
.....
 
Yes,我使用时是放到DPR的第一个位置。
 
to jxc163:
我现在没有XP系统,暂时无法调试。这样,既然是放到Panel上的时候出现问题,你试着把你的这个Panel的ParentFont和ParentColor两个属性全部改成False试试。
 
先改ParentFont属性试试,我感觉这个最有可能是原因所在!ParentColor好像不会有太大影响。
 
修改Panel的Font以及ParentFont属性,我试过了,还是不行。
也修改过控件中继承的CustomPanel的这两个属性以及按扭的这两个属性,但能不能取得预期效果。
不知是否还有其它原因,麻烦你再帮我看看!
 
App老大,我怎么没有看到你的回复,但我每次回复都有邮件给你。快来帮我看看呀!
 
楼上的!我也有同感。
App2001 是个高~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~人
 
哦,我是在旁学习取经的,本来我也想试试,奈何我现在用的还是DELPHI6,没有这个环境,所以只能精神上支持你了,抱歉 :)
 
反正你也要换D7了,现在下一个就行了。
 
后退
顶部