为什么我的控件全变成PictureBox了?

fat1 2000-04-08 10:03:00
我把原一个工程里的窗体(里面包含了自定义的控件)和自定义的控件添加到另一个工程里,其中的控件全变成了PictureBox了!!
Why??我该怎么办?
...全文
222 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxp 2000-04-26
  • 打赏
  • 举报
回复
不一定是没有该控件,比如升级了计算机,所有ActiveMovie(录象)控件全变成了PictureBox,(旧的注册丢了),解决方式很简单,不要将窗体全部打开看一便,打开一个窗体,并将变化的控件改回来,重新保存工程文件和该窗体,千万不要保存其他窗体!!!,再打开工程!呵呵ok!祝你成功。
008 2000-04-24
  • 打赏
  • 举报
回复
同意dengdun
monday 2000-04-23
  • 打赏
  • 举报
回复
VB找不到你所引用的控件就会把该控件显示成Picture box了,特别是VB3
ahr 2000-04-23
  • 打赏
  • 举报
回复
同意 bamboo.
你 是不是重装了系统?
添加自定义控件然后手工替换了.
billie 2000-04-22
  • 打赏
  • 举报
回复
同意bamboo的意见。
major2 2000-04-20
  • 打赏
  • 举报
回复
先把窗体都移除出工程,然后把你的自定义控件的OCX文件都拷贝一份到你的应用程序所在目录,然后打开工程,在工程-部件菜单中把自定义控件添加进来,以后就应该不会再有这种错误发生了。
bamboo 2000-04-20
  • 打赏
  • 举报
回复
按我的经验,VB会自己添加窗体中用到的控件,即使在目标工程中没有事先引用。我认为其原因可能有二:1.有关控件的注册信息丢失了。2.目标工程中有源窗体中的控件,但版本更低。(如果你是在同一台机器上,而且在这之间没有卸载过东西,则这个问题似乎无法解释。)
Calf 2000-04-13
  • 打赏
  • 举报
回复
先在新工程里添加自定义控件,再添加使用此自定义控件的窗体。
david 2000-04-13
  • 打赏
  • 举报
回复
在新建的工程中先添加你要用的控件(要加窗体中的)和引用(如果有),再添加入窗体即可,vb好象默认用picturebox替代未知的控件。
Tyro 2000-04-10
  • 打赏
  • 举报
回复
应该是新工程中没有引用那些变成PictureBox的控件
dengdun 2000-04-10
  • 打赏
  • 举报
回复
那时因为你的自定义控件在这个工程中没有引用,你应该现在你要添加到的工程里先引用所有自定义控件,然后再添加窗体。
archvile 2000-04-10
  • 打赏
  • 举报
回复
是不是新工程中“Project/Compononts”未引用那些控件?
在Windows操作系统上,VisualBasic作为一门计算机语言,功能非常强大,而且简单易学。VisualBasic提供可视化设计工具,编程人员可利用VisualBasic提供的控件轻松的“画”出应用程序的友好界面,因此容易入门,入门以后就有能力进一步学习难度更大的编程语言。VisualBasic作为编程人员的首选程序设计语言,有如下特点: 1、VisualBasic是开发Windows应用程序的强有力的工具,使用了最先进的程序设计思想,能轻而易举的开发出符合Windows规范和风格的应用程序; 2、VisualBasic在科学计算、多媒体软件开发、网络应用等方面都有强大的功能,尤其在数据库开发方面,提供了许多控件,便于连接、查询和显示查询结果,现在很多管理软件,包括一些大型软件,都是利用VisualBasic开发的; 3、VisualBasic改变了传统的程序的机制,采用“事件驱动”方式,用户操作产生不同的事件,程序根据这些事件去分别执行不同的子程序。编程人员可以分别编写出这样一些子程序,因此使编程难度大大下降。   在VisualBasic语言中,控件是用户界面的基本要素,是进行可视化程序设计的重要基础,它不仅关系到界面是否友好,还直接关系到程序的运行速度以及整个程序的好坏。每个控件都具有它的属性、方法和事件,设计窗体就必须很好的掌握控件的属性和应用方法。控件具有很多相同的属性,如标识控件名称的Name属性、标识控件标题的Caption属性、有效属性Enable、可见属性Visible、标识控件位置和大小的Top、Left、Width、Height、属性、定义背景色的BackColor属性、定义前景色的ForeColor属性和定义字体类型的Font属性,各个控件也有其特有的一些属性。   VisualBasic中的控件分为两种,即标准控件(或内部控件)和ActiveX控件。内部控件是工具箱中的“常驻”控件,始终出现在工具箱里,而ActiveX控件是扩展名为.ocx的文件(在Windows\System文件夹里),它是根据变成需要添加到工具箱里的。   在一般情况下,工具箱里只有标准控件,为了把ActiveX控件添加到工具箱里,可按以下步骤执行: (1)在菜单里选择“工程-部件”,弹出“部件”对话框; (2)在对话框中选择“控件”选项卡,显示ActiveX控件列表; (3)在列表框中找到需要添加的控件名称,单击控件名称左侧的复选框; (4)使用同样的方法选择需要添加的其它控件; (5)单击“确定”按钮,即可将所选ActiveX控件添加到工具箱里。 窗体(FORM)的常用属性 属性 说明 (Name)窗体的名称 ActiveControl返回焦点所在的控件,该属性设计阶段不可用,运行时只读。 Appearance外观效果,取值为:0 平面1 3D(立体) AutoRedraw是否自动刷新或重画窗体上所有图形[获得或设置从绘图(graphics)方法到一个持久性位图的输出],取值为:True False BackColor背景颜色,可从弹出的调色板选择。 BorderStyle设置边界类型,取值为: 0 None(无边界框架)1 FixedSingle(窗口大小固定不变的单线框架) 2 Sizable(窗口大小可变的标准双线框架) 3 FixedDialog(窗口大小固定的对话框窗体) 4 FixedToolWindow(窗口大小固定的工具箱窗体) 5 Sizable ToolWindow(窗口大小可变的工具箱窗体) Caption窗体的标题 ClipControls决定Paint事件的graphics方法是重画整个对象,还是重画新显示的区域。取值为: True或False ControlBox是或有控制框, 取值为: True 有 False 无 DrawMode设定窗体上绘图(graphics方法),Shape,Line等控件的输出外观,有16种可选: 1 黑色 2 非或笔,设置值15的反相 3 与非笔,背景色以及画笔反相二者共有颜色的组合 4 非复制笔,设置值13的反相 5 与笔非,画笔以及显示色反相二者共有颜色的组合 6 反相,显示颜色反相 7 异或笔,画笔颜色以及显示颜色的异或 8 非与笔,设置值9的反相 9 与笔,画笔以及显示色二者共有颜色的组合 10 非异或笔,设置值7的反相 11 无操作,该设置实际上是不画图 12 或非笔,显示颜色与画笔颜色反相的组合 13 复制笔,用ForeColor属性指定的颜色,此为默认值 14 或笔非,画笔颜色与显示颜色反相的组合 15 或笔,画笔颜色与显示颜色的组合 16 白色 DrawStyle设定绘图相关方法使用的直线样式, 有7种可选: 0 实线,此为默认值 1 虚线 2 点线 3 单点划线 4 双点划线 5 无线 6 内部实线 DrawWidth设定绘图相关方法使用的直线宽度 Enabled是或把鼠标或键盘事件发送到窗体,取值为: True 可用 False 不可用 FillColor填充颜色, 可从弹出的调色板选择。 FillStyle填充样式, 有8种可选: 0 部填充 1 透明,此为默认值 2 水平直线 3 竖直直线 4 上斜对角线 5 下斜对角线 6 十字线 7 交叉对角线 Font字型,可从弹出的对话框选择字体,大小和风格 FontTransparent输出数据是否允许重叠(获得或设置一个值,决定是否显示窗体,打印机或PictureBox上的背景文本/图形)。取值为: True或False ForeColor前景颜色,可从弹出的调色板选择。 HasDC决定是否为该控件分配了唯一的显示上下文。取值为: True或False Height窗体的高度 HelpContextID指定一个对象的缺省帮助文件上下文标识符 Icon为窗体设计图标,该图标位于标题栏的左端 KeyPrevier获得或设置是否在激活对象的上的控件的键盘事件之前,优先激活对象键盘事件。取值为: True或False Left窗体距屏幕左边界的距离 LinkMode获得或设置用于DDE会话的链接类型并激活连接,取值为: 0 None 1 Source LinkTopic获得或设置目标控件的源应用程序和主题 MaxButton窗体右上角最大化按钮是否显示,运行时只读, 取值为: True 显示 False 不显示 MDIChild是否为MDI窗体的子窗体, 取值为: True 为MDI窗体的子窗体 False 否 MinButton窗体右上角最小化按钮是否显示,运行时只读, 取值为: True 显示 False 不显示 MouseIcon MousePointer=99时,设定一个自定义的鼠标图标 MousePointer Moveable是否可以移动窗体, 取值为: True 可以移动 False 不可以移动 NegotiateMenus决定是否将对象的菜单合并到该窗体的菜单栏上。取值为: True或False OLEDropMode 获得或设置该对象是否能作为一个OLE放下目标, 取值为: 0 None(无) 1 Manual(手动) Palette 获得或设置一个图象,包含了当PaletteMode被设置为Custom时用于调色板的对象。 PaletteMode 获得或设置一个值,决定对于对象的控件使用哪个调色板。取值为: 0 Halftone 1 UseZOrder 2 Custom Picture 窗体背景图片 RightToLeft 文本书写是否自左向右。取值为: True False 自右向左 ScaleHeight 自定义坐标系的纵坐标轴的高度 ScaleLeft 自定义坐标系的左边界起点的横坐标 ScaleMode 获得或设置一个值,指示当使用graphics方法或可定位的控件时,自定义坐标系的单位, 有8种可选: 0 自定义 1 表示单位为twip(缇),每英寸=1440缇,每厘米=567缇 2 表示单位为point(磅) ,每英寸=72磅,每磅=20缇 3 表示单位为像素,是监视器或打印机分辨率的最小单位 4 表示单位为字符,每个水平单位为120缇,每个垂直单位为240缇 5 表示单位为in(英寸) 6 表示单位为mm(毫米) 7 表示单位为cm(厘米) ScaleTop 自定义坐标系的上边界起点的纵坐标 ScaleWidth 自定义坐标系的横坐标轴的宽度 ShowInTaskbar 窗体或MDI窗体是否出现在Windows95的任务栏。取值为: True 出现 False 不出现 StartUpPosition 窗体第一次出现的位置, 有4种可选: 0 没有指定初始位置 1 设定在所属项目的中央 2 设置在屏幕的中央 3 设置在屏幕的左上角 Tag 存储程序所需的附加数据 Top 窗体距屏幕顶部边界的距离 Visible 窗体是否可见, 取值为: True 该对象可见 False 该对象不可见 WhatsThisButton 获得或设置是否在一个窗体或MDI窗体的标题上显示"这是什么"按钮。取值为: True或False WhatsThisHelp 获得或设置是否在上下文相关帮助中, 使用Windows95帮助或主帮助窗口提供的"这是什么"弹出菜单。取值为: True或False Width 窗体的宽度 WindowStart 获得或设置一个窗体窗口运行时的可见状态, 取值为: 0 窗体正常状态 1 窗体最小状态 2 窗体最大状态
程序的XP化已经不是一个新话题了,使用图片或ActiveX控件的比比皆是,但这样的XP化并不是真正的,只是模仿了XP的外观。使用.manifest文件倒是真的,不过在exe文件之外还要有一个.manifest文件,也不太方便,尤其是在做只有一个exe文件的小工具时。那么,能不能把.manifest文件整合到exe里面呢,经过测试,我终于发现了方法。   注意:有程序员用了本方法后反应没有效果,再此特别申明,这是真正的XP样式,使用的资源也是XP系统里的,所以要看到效果,必须是在XP系统,并使用XP风格样式时才行,Win2000的就不要试了,在系统不是XP外观时,用此方法生成的程序也不会有XP样式。另外,在VB IDE里面也不会有效果,需要编译为.exe文件。   下面我们来具体看一下实现的方法。请先下载本文附件的"XPStyle.res"文件,正常编辑程序界面后(如图),在工程资源管理器窗口的空白区域点鼠标右键,选择“添加”->“添加文件”,选择本文附件中的"XPStyle.res",具体过程请参考附图。第二步,在程序中声明API函数InitCommonControls,声明语句为Private Declare Sub InitCommonControls Lib "comctl32.dll" (),在启动窗口的Initialize事件中调用此函数。注意,是Initialize事件,如果在Load事件中调用此函数将造成窗口不能被正确加载。现在将其编译为.exe文件就可以看到效果了。   这样实现的XP样式还有一个问题,就是如果把控件放在Frame控件里,将不能正常显示,尤其是OptionButton,将完变成黑色。解决起来其实也不难,就是不要把控件做为Frame的子窗口,如果必须要这样做,可以在Frame里再添加一个PictureBox,将控件做为PictureBox的子窗口

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧