2。我的新控件想使用自己的图标,就自己用image edit 作了一个图标,可是装载时图标没有变,还是默认的图标,怎么回事?
13 个解决方案
#1
没有知道吗?
#2
图标名和控件名一定要相同.
在搜索路径中指定.
在搜索路径中指定.
#3
怎么又是这个...
. 单元DsgnIntf改名及相关变化
程序中对于DsgnIntf的引用,需要改为对一个新的单元的引用:DesignIntf。可能还得加上DesignEditors、Editors 和RTLConsts 几个单元到你的引用列表中。除此之
外你还得将designide加入到你的包的Requires的列表中。另外,对dsnide50的引用可能得手动改为DesignIde,如果Delphi没有自动更改的话。
任何引用了IDesigner的运行期包,需要改为IDesignerHook以防止运行期时对于designide单元的引用要求。在运行期代码中,IDesignerHook 功能足够使用,
无需担心。设计期时可以使用IDesigner,如以下代码一样:
var
RealDesigner: IDesigner;
...
SomeDesignerHook.QueryInterface(IDesigner,RealDesigner);
...
来获得IDesignerHook 提供的IDesigner的接口。IDesinerHook的使用只需要引用Classes和Forms两个单元。但是IDesigner还得加上DesignIntf单元
,由于该单元被包含在许多其它包中,而其中的一些包可能是不能二次分发的。
. 单元DsgnIntf改名及相关变化
程序中对于DsgnIntf的引用,需要改为对一个新的单元的引用:DesignIntf。可能还得加上DesignEditors、Editors 和RTLConsts 几个单元到你的引用列表中。除此之
外你还得将designide加入到你的包的Requires的列表中。另外,对dsnide50的引用可能得手动改为DesignIde,如果Delphi没有自动更改的话。
任何引用了IDesigner的运行期包,需要改为IDesignerHook以防止运行期时对于designide单元的引用要求。在运行期代码中,IDesignerHook 功能足够使用,
无需担心。设计期时可以使用IDesigner,如以下代码一样:
var
RealDesigner: IDesigner;
...
SomeDesignerHook.QueryInterface(IDesigner,RealDesigner);
...
来获得IDesignerHook 提供的IDesigner的接口。IDesinerHook的使用只需要引用Classes和Forms两个单元。但是IDesigner还得加上DesignIntf单元
,由于该单元被包含在许多其它包中,而其中的一些包可能是不能二次分发的。
#4
可是我用的是delphi5,可以找到DsgnIntF.pas,找不到DedignIntF
你后面写的我好像看不懂给个例子好不好,或者说的详细点!
你后面写的我好像看不懂给个例子好不好,或者说的详细点!
#5
1.你在lib文件夹里没这个dcu文件
2.图标的索引要一致...又或者图标太大了..你试把imagelist的width和height设大一点.
2.图标的索引要一致...又或者图标太大了..你试把imagelist的width和height设大一点.
#6
新建一个工程,从DsgnIntf所在目录加入DsgnIntf,不写任何代码,直接按F9,就可在ToolsApi目录下得到DsgnIntf
#7
chenlj(CHEN)
1.你的分析我同意,可是需要吗,其他的都不是.pas文件,又没说要.dcu文件,比如windows,messages
2.我没有用imagelist我使用的是delphi自带的image edit画的32*32的文件
1.你的分析我同意,可是需要吗,其他的都不是.pas文件,又没说要.dcu文件,比如windows,messages
2.我没有用imagelist我使用的是delphi自带的image edit画的32*32的文件
#8
Windows,messages的dcu文件在Lib下都有的,而且DELPHI用的都是.dcu文件
#9
那么怎么没有DsgnIntF.dcu呢,只有DsgnIntF.pas呢?
#10
1、DsgnIntF.dcu 问题:
Envirment options\Library path: 加入Delphi\...\DsgnIntF.pas文件所在路径即可。
2、不显示控件图标问题:
比如你控件类名是TMyButton
文件名是:mybutton.pas
那么你图标应该是24*24像素大小的,图标名应该是
TMYBUTTON,dcr文件名应该是mybutton.dcr.
然后从你.dpk包里先删除你的mybutton.pas重新加入mybutton.pas你就看到
mybutton.pas
mybutton.dcr
同时加到你工程,编译即可!
Envirment options\Library path: 加入Delphi\...\DsgnIntF.pas文件所在路径即可。
2、不显示控件图标问题:
比如你控件类名是TMyButton
文件名是:mybutton.pas
那么你图标应该是24*24像素大小的,图标名应该是
TMYBUTTON,dcr文件名应该是mybutton.dcr.
然后从你.dpk包里先删除你的mybutton.pas重新加入mybutton.pas你就看到
mybutton.pas
mybutton.dcr
同时加到你工程,编译即可!
#11
1.你的第一个问题只能说是解决了.pas文件,没有解决.dcu问题,另外我在编译控件时没有出现这个问题(找不到DsgnIntF.dcu)
2.我按照这样做了可是好象不行,还是原来的!是不是要改两个地方一个是文件名mybutton.dcr,还有是图标改成MYBUTTON
2.我按照这样做了可是好象不行,还是原来的!是不是要改两个地方一个是文件名mybutton.dcr,还有是图标改成MYBUTTON
#12
回答得都不对,让我怎么给分!
#13
等吃玩饭再说吧
#1
没有知道吗?
#2
图标名和控件名一定要相同.
在搜索路径中指定.
在搜索路径中指定.
#3
怎么又是这个...
. 单元DsgnIntf改名及相关变化
程序中对于DsgnIntf的引用,需要改为对一个新的单元的引用:DesignIntf。可能还得加上DesignEditors、Editors 和RTLConsts 几个单元到你的引用列表中。除此之
外你还得将designide加入到你的包的Requires的列表中。另外,对dsnide50的引用可能得手动改为DesignIde,如果Delphi没有自动更改的话。
任何引用了IDesigner的运行期包,需要改为IDesignerHook以防止运行期时对于designide单元的引用要求。在运行期代码中,IDesignerHook 功能足够使用,
无需担心。设计期时可以使用IDesigner,如以下代码一样:
var
RealDesigner: IDesigner;
...
SomeDesignerHook.QueryInterface(IDesigner,RealDesigner);
...
来获得IDesignerHook 提供的IDesigner的接口。IDesinerHook的使用只需要引用Classes和Forms两个单元。但是IDesigner还得加上DesignIntf单元
,由于该单元被包含在许多其它包中,而其中的一些包可能是不能二次分发的。
. 单元DsgnIntf改名及相关变化
程序中对于DsgnIntf的引用,需要改为对一个新的单元的引用:DesignIntf。可能还得加上DesignEditors、Editors 和RTLConsts 几个单元到你的引用列表中。除此之
外你还得将designide加入到你的包的Requires的列表中。另外,对dsnide50的引用可能得手动改为DesignIde,如果Delphi没有自动更改的话。
任何引用了IDesigner的运行期包,需要改为IDesignerHook以防止运行期时对于designide单元的引用要求。在运行期代码中,IDesignerHook 功能足够使用,
无需担心。设计期时可以使用IDesigner,如以下代码一样:
var
RealDesigner: IDesigner;
...
SomeDesignerHook.QueryInterface(IDesigner,RealDesigner);
...
来获得IDesignerHook 提供的IDesigner的接口。IDesinerHook的使用只需要引用Classes和Forms两个单元。但是IDesigner还得加上DesignIntf单元
,由于该单元被包含在许多其它包中,而其中的一些包可能是不能二次分发的。
#4
可是我用的是delphi5,可以找到DsgnIntF.pas,找不到DedignIntF
你后面写的我好像看不懂给个例子好不好,或者说的详细点!
你后面写的我好像看不懂给个例子好不好,或者说的详细点!
#5
1.你在lib文件夹里没这个dcu文件
2.图标的索引要一致...又或者图标太大了..你试把imagelist的width和height设大一点.
2.图标的索引要一致...又或者图标太大了..你试把imagelist的width和height设大一点.
#6
新建一个工程,从DsgnIntf所在目录加入DsgnIntf,不写任何代码,直接按F9,就可在ToolsApi目录下得到DsgnIntf
#7
chenlj(CHEN)
1.你的分析我同意,可是需要吗,其他的都不是.pas文件,又没说要.dcu文件,比如windows,messages
2.我没有用imagelist我使用的是delphi自带的image edit画的32*32的文件
1.你的分析我同意,可是需要吗,其他的都不是.pas文件,又没说要.dcu文件,比如windows,messages
2.我没有用imagelist我使用的是delphi自带的image edit画的32*32的文件
#8
Windows,messages的dcu文件在Lib下都有的,而且DELPHI用的都是.dcu文件
#9
那么怎么没有DsgnIntF.dcu呢,只有DsgnIntF.pas呢?
#10
1、DsgnIntF.dcu 问题:
Envirment options\Library path: 加入Delphi\...\DsgnIntF.pas文件所在路径即可。
2、不显示控件图标问题:
比如你控件类名是TMyButton
文件名是:mybutton.pas
那么你图标应该是24*24像素大小的,图标名应该是
TMYBUTTON,dcr文件名应该是mybutton.dcr.
然后从你.dpk包里先删除你的mybutton.pas重新加入mybutton.pas你就看到
mybutton.pas
mybutton.dcr
同时加到你工程,编译即可!
Envirment options\Library path: 加入Delphi\...\DsgnIntF.pas文件所在路径即可。
2、不显示控件图标问题:
比如你控件类名是TMyButton
文件名是:mybutton.pas
那么你图标应该是24*24像素大小的,图标名应该是
TMYBUTTON,dcr文件名应该是mybutton.dcr.
然后从你.dpk包里先删除你的mybutton.pas重新加入mybutton.pas你就看到
mybutton.pas
mybutton.dcr
同时加到你工程,编译即可!
#11
1.你的第一个问题只能说是解决了.pas文件,没有解决.dcu问题,另外我在编译控件时没有出现这个问题(找不到DsgnIntF.dcu)
2.我按照这样做了可是好象不行,还是原来的!是不是要改两个地方一个是文件名mybutton.dcr,还有是图标改成MYBUTTON
2.我按照这样做了可是好象不行,还是原来的!是不是要改两个地方一个是文件名mybutton.dcr,还有是图标改成MYBUTTON
#12
回答得都不对,让我怎么给分!
#13
等吃玩饭再说吧