| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 716 人关注过本帖
标题:[求助]求助版主
只看楼主 加入收藏
grapebee
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-24
收藏
 问题点数:0 回复次数:7 
[求助]求助版主

版主,下面是你以前发的一个帖子,是上浮的Command控件,可是代码不能下载,还有就是.

.ctl文件是什么?也是模块吗?

此主题相关图片如下: 此主题相关图片如下: 下载完整代码 点击浏览该文件

'lblCtlFloatButton.ctl 文件内容如下 VERSION 5.00 Begin VB.UserControl lblCtlFloatButton ClientHeight = 405 ClientLeft = 0 ClientTop = 0 ClientWidth = 1965 ScaleHeight = 405 ScaleWidth = 1965 Begin VB.Label lblCaption AutoSize = -1 'True Height = 195 Index = 0 Left = 480 TabIndex = 1 Top = 120 Width = 45 End Begin VB.Line Line1 BorderColor = &H80000005& Index = 0 X1 = 0 X2 = 1920 Y1 = 0 Y2 = 0 End Begin VB.Line Line1 BorderColor = &H80000005& Index = 1 X1 = 0 X2 = 0 Y1 = 0 Y2 = 360 End Begin VB.Line Line1 BorderColor = &H80000003& Index = 2 X1 = 0 X2 = 1920 Y1 = 360 Y2 = 360 End Begin VB.Line Line1 BorderColor = &H80000003& Index = 3 X1 = 1920 X2 = 1920 Y1 = 0 Y2 = 360 End Begin VB.Label lblCaption BackStyle = 0 'Transparent Height = 345 Index = 1 Left = 15 TabIndex = 0 Top = 15 Width = 1905 End End Attribute VB_Name = "lblCtlFloatButton" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = True Attribute VB_PredeclaredId = False Attribute VB_Exposed = True Option Explicit

Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long Private Declare Function ScreenToClient Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type

Private m_Float As Boolean

Public Event Click() Public Event MouseOut()

Private Sub lblCaption_Click(Index As Integer) RaiseEvent Click End Sub

Private Sub lblCaption_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) '模拟按钮被按下的效果 Line1(0).BorderColor = vbButtonShadow Line1(1).BorderColor = vbButtonShadow Line1(2).BorderColor = vbWhite Line1(3).BorderColor = vbWhite lblCaption(0).Move lblCaption(0).Left + 15, lblCaption(0).Top + 15 End Sub

Private Sub lblCaption_MouseMove(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) Dim Pos1 As POINTAPI Dim pos2 As POINTAPI Dim i As Integer Static Out As Boolean '鼠标旋于按钮上,若Float属性为True,则显示浮动效果 If Float = True Then For i = 0 To 3 Line1(i).Visible = True Next End If Out = False '当鼠标悬停于按钮上时,通过API函数GetCursorPos和ScreenToClient判断鼠标何时移出 Do While Out = False GetCursorPos Pos1 pos2.x = Pos1.x: pos2.y = Pos1.y ScreenToClient UserControl.hwnd, pos2 If pos2.x< 0 Or pos2.y< 0 Or pos2.x>UserControl.Width/15 Or pos2.y>UserControl.Height/15 Then '判断鼠标是否仍在按钮的范围内 Out = True '鼠标移出按钮,若Float属性为True,则消去浮动效果 If Float = True Then For i = 0 To 3 Line1(i).Visible = False Next End If RaiseEvent MouseOut '触发MouseOut事件 Exit Do End If DoEvents Loop End Sub

Private Sub lblCaption_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single) '模拟按钮被抬起的效果 Line1(2).BorderColor = vbButtonShadow Line1(3).BorderColor = vbButtonShadow Line1(0).BorderColor = vbWhite Line1(1).BorderColor = vbWhite lblCaption(0).Move (UserControl.Width - lblCaption(0).Width) / 2, (UserControl.Height - lblCaption(0).Height) / 2 End Sub

Private Sub UserControl_InitProperties() Caption = Extender.Name End Sub

Private Sub UserControl_ReadProperties(PropBag As PropertyBag) Caption = PropBag.ReadProperty("Caption", Extender.Name) Float = PropBag.ReadProperty("Float", False) End Sub

Private Sub UserControl_WriteProperties(PropBag As PropertyBag) PropBag.WriteProperty "Caption", Caption, Extender.Name PropBag.WriteProperty "Float", Float, False End Sub

Private Sub UserControl_Resize() Line1(0).X2 = UserControl.Width Line1(2).X2 = UserControl.Width Line1(1).Y2 = UserControl.Height Line1(3).Y2 = UserControl.Height Line1(3).X1 = UserControl.Width - 15 Line1(3).X2 = UserControl.Width - 15 Line1(2).Y1 = UserControl.Height - 15 Line1(2).Y2 = UserControl.Height - 15 lblCaption(1).Move 15, 15, UserControl.Width - 30, UserControl.Height - 30 lblCaption(0).Move (UserControl.Width - lblCaption(0).Width) / 2, (UserControl.Height - lblCaption(0).Height) / 2 End Sub

Public Property Get Caption() As String Caption = lblCaption(0).Caption End Property

Public Property Let Caption(ByVal vNewValue As String) lblCaption(0).Caption = vNewValue PropertyChanged "Caption" Call UserControl_Resize End Property

Public Property Get Float() As Boolean Float = m_Float End Property

Public Property Let Float(ByVal vNewValue As Boolean) Dim i As Integer m_Float = vNewValue For i = 0 To 3 Line1(i).Visible = Not vNewValue Next PropertyChanged "Float" End Property

搜索更多相关主题的帖子: 版主 模块 bbs 
2005-04-19 10:09
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 
打开记事本,把以上代码帖进去,保存成FloatButton.ctl (.ctl是用户控件的扩展名)

天津网站建设 http://www./
2005-04-19 11:11
grapebee
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-24
收藏
得分:0 
.ctl是用户控件的扩展名这个我已经知道了,VB6.0不是可以直接创建一个用户控件的窗体吗?还有写入记事本后,如何使用呢?请版主详细说明一下,小弟在此谢过了
2005-04-19 17:41
grapebee
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-24
收藏
得分:0 
版主,我照你说的做了,但怎么用呢?它变成Module了,而且还是显示Begin VB.UserControl lblCtlFloatButton缺少结束语句
2005-04-19 20:03
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 
服了你了,我帮你弄好吧。
BD0uOyIp.rar (3.71 KB) [求助]求助版主



打开其中的工程组 “组1.vbg”就可以了。

天津网站建设 http://www./
2005-04-19 20:41
grapebee
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-24
收藏
得分:0 
还是由问题,检测到非公用的USERCONTROL,运行时没有加载那个用户控件,是不是要设路径呀?
2005-04-21 07:34
grapebee
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2005-3-24
收藏
得分:0 
运行时显示“未找到路径:E:\DOCUME~1\ADMINI~1\桌面\LBLCTL~1.CTL,我直接添加后,就会显示检测到非公用的USERCONTROL
2005-04-21 07:38
griefforyou
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:3336
专家分:0
注 册:2004-4-15
收藏
得分:0 
X2jNSKGj.rar (4.35 KB) [求助]求助版主



自已添加一下不就完了。。

天津网站建设 http://www./
2005-04-21 08:21
快速回复:[求助]求助版主
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048678 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved