标题: 最近正在写了一个兵种控件,结果发现怎么搞都无法响应事件。, 谁能帮我改一下代码?
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-11 12:51 资料 个人空间 短消息 只看该作者 QQ
最近正在写了一个兵种控件,结果发现怎么搞都无法响应事件。

详细内容请看#55的帖。

[ 本帖最后由 阿尔法孝直 于 2007-6-3 16:55 编辑 ]


顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


发表于 2006-10-11 12:57 资料 主页 个人空间 短消息 只看该作者
直接呼叫 Win32 API sleep (n) 即可
n为毫秒

Public Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)

private sub taskwait()
dim i as long
i = n '自定义数值
call task1 '调第一个任务
sleep(i)
call task2 '掉第二个任务
end sub

[ 本帖最后由 司徒苍月 于 2006-10-11 13:01 编辑 ]


顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-11 13:24 资料 个人空间 短消息 只看该作者 QQ
谢谢!已成功!
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-12 16:57 资料 个人空间 短消息 只看该作者 QQ
问题改了。要求将这段代码夹在语句1与语句2之间,使得程序执行完语句1之后,间隔指定的时间再执行语句2。如果在这段时间内单击鼠标、或者按指定的键(如回车),也执行语句2。

或者这样想,执行完语句1之后,给你一段时间,如果在这段时间内按了指定按键或单击鼠标,执行语句2;这段时间内没有按指定按键且没有单击鼠标,也执行语句2。
最好不使用计时器控件。

[ 本帖最后由 阿尔法孝直 于 2006-10-12 17:02 编辑 ]
顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


发表于 2006-10-12 17:10 资料 主页 个人空间 短消息 只看该作者
用循环执行sleep(1000),这样循环几次就是几秒
enter的keyascii好像是13,那么取keyascii=13的时候跳出循环exit for即可,鼠标左键是0x1
举例
事件A
for i = 1 to 500
   if check1=true  then  'check1作为全局变量
       exit for
   end if
   sleep(1000)
next i
事件B
-----------------------------
将下面的代码放入Form_KeyPress事件中
if keyascii=0x1 or keyascii=13 then '13是回车,0x1是鼠标左键
    check1=true
else
    check1=false
end if

注:该窗体Form_KeyPress值必须为true

[ 本帖最后由 司徒苍月 于 2006-10-12 17:13 编辑 ]
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-12 19:48 资料 个人空间 短消息 只看该作者 QQ
错误


图片附件: error.JPG (2006-10-12 19:48, 37.82 K)

顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


发表于 2006-10-12 22:21 资料 主页 个人空间 短消息 只看该作者
0x1换成vbKeyLButton
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-13 17:16 资料 个人空间 短消息 只看该作者 QQ
我在Form_KeyPress()事件中的End If 处设置断点,结果运行时单击鼠标,没有停下来。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-13 20:08 资料 个人空间 短消息 只看该作者 QQ
即使用计时器控件,也不行。执行一下代码,发现time2的值总是0

Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Private check1 As Boolean
Private time2 As Byte

Private Sub Form_Click()
check1 = True
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyAscii = 13 Then '13是回车,0x1是鼠标左键
    check1 = True
Else
    check1 = False
End If

End Sub

Private Sub Form_Load()
Me.Show
Timer1.Enabled=True
Timer1.Interval=10
time2 = 0
Print "00000000"
Do While Not check1
  Sleep (1000)
Loop
Print "11111111"
Do While Not check1
  Sleep (1000)
Loop
Print "22222222" '事件C
Do While Not check1
  Sleep (1000)
Loop
Print "33333333"
End Sub

Private Sub Timer1_Timer()
Static time1 As Byte
time1 = time1 + 1
time2 = time1
If time1 = 50 Then
  time1 = 0
  check1 = True
End If
End Sub
顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


发表于 2006-10-13 20:34 资料 主页 个人空间 短消息 只看该作者
按指定键,光标在哪里呢?

这里有段,鼠标问题解决了

Dim check1 As Boolean
Dim check2 As Boolean
Private Declare Sub Sleep Lib "Kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click()
If check2 = True Then
    Exit Sub
End If
   
Call fun1

End Sub



Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyAscii = 13 Then  '13是回车
    check1 = True
Else
    check1 = False
End If
End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then  '13是回车
    check1 = True
Else
    check1 = False
End If
End Sub


Private Sub Form_Load()
check2 = False
End Sub
Private Sub fun1()
Dim i As Long
check2 = True
For i = 1 To 200
   If check1 = True Then 'check1作为全局变量
       Exit For
   End If
   Sleep (100)
   Debug.Print CStr(i)
Next i
check2 = False
End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then '1是左键
    check1 = True
Else
    check1 = False
End If
End Sub

顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-14 15:54 资料 个人空间 短消息 只看该作者 QQ
恐怕以下代码是最佳不过了(如果用计时器)

放上一个计时器控件,一个不可见的文本框控件(或一个不可见的标签控件也行),代码如下:

(没办法,为了模拟英杰传的弹出信息框,单击鼠标或等到一定时间信息框消失)

[ 本帖最后由 阿尔法孝直 于 2006-10-14 15:57 编辑 ]


图片附件: Code1.JPG (2006-10-14 15:54, 77.44 K)

顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-10-19 12:01 资料 文集 短消息 只看该作者
为什么不想用Timer呢?我倒是想了个办法不用Timer,一会儿试试,能行贴上来。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-25 12:36 资料 个人空间 短消息 只看该作者 QQ
加急!如何做出透明Frame控件?

不是让Frame看不见,而是让放在里面的透明Label控件显示在Progressbar的上面。

比如像曹操传中的生命条一样。

[ 本帖最后由 阿尔法孝直 于 2006-10-25 13:08 编辑 ]
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-25 19:52 资料 个人空间 短消息 只看该作者 QQ
标签在进度条上面,并且是透明的。


图片附件: [图] Prog.JPG (2006-10-25 19:52, 11.56 K)

顶部
性别:未知-离线 司徒苍月
(kagami☆sama)

越国公
荆南节度使
枢密直学士

Rank: 22Rank: 22Rank: 22Rank: 22
柱国(正二品)
组别 节度使
级别 大将军
好贴 7
功绩 2823
帖子 28883
编号 52341
注册 2005-11-2
来自 创界山
家族 司徒实业


发表于 2006-10-25 20:07 资料 主页 个人空间 短消息 只看该作者


QUOTE:
原帖由 阿尔法孝直 于 2006-10-25 12:36 发表
不是让Frame看不见,而是让放在里面的透明Label控件显示在Progressbar的上面。

比如像曹操传中的生命条一样。

光靠vb代码不行,好像要什么ocx吧- -
顶部
性别:未知-离线 shadewither

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 106
编号 78831
注册 2006-8-12


发表于 2006-10-25 21:46 资料 短消息 只看该作者
ccz的做法是直接drawtext上去
顶部
性别:未知-离线 godhelpu

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 10
编号 44859
注册 2005-8-2


发表于 2006-10-26 17:06 资料 短消息 只看该作者
是要求前景字体颜色随进度条变化吗?背景变深色,字体反白?
不是很明白楼主的需求,能说清楚点吗?
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-10-27 16:47 资料 文集 短消息 只看该作者
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Public Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Public Declare Function GetClientRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Public Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long

Public Const DT_CENTER = &H1
Public Const DT_VCENTER = &H4
Public Const DT_SINGLELINE = &H20
Public Const TRANSPARENT = 1

Public Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Public Sub ShowText(control As ProgressBar)
    Dim dc As Long
    Dim WndRect As RECT
    Dim OldBkMode As Long
   
    GetClientRect control.hwnd, WndRect
    dc = GetDC(control.hwnd)
    OldBkMode = SetBkMode(dc, TRANSPARENT)
    DrawText dc, "test", 4, WndRect, DT_CENTER + DT_VCENTER + DT_SINGLELINE
    SetBkMode dc, OldBkMode
End Sub

主要代码是这个样子的,再加上设置字体、颜色基本就可以了。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-28 19:06 资料 个人空间 短消息 只看该作者 QQ
用什么软件可以制作VB6支持的48*48格式的ICO图标?我试了一些软件比如IconWorkShop、ApearIconMaker等,结果VB6都报“无效图片”。

这里有一个待测图片。

[ 本帖最后由 阿尔法孝直 于 2006-10-31 15:10 编辑 ]


附件: [待测图片] image1.rar (2006-10-28 19:06, 220 bytes)
该附件被下载次数 145
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-10-30 12:57 资料 文集 短消息 只看该作者
ISO还是ICO?不应该不能用吧,要不试试用VC编辑图标。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-10-31 15:10 资料 个人空间 短消息 只看该作者 QQ
不好意思打错了,是ICO。已改。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-3 19:53 资料 个人空间 短消息 只看该作者 QQ
有谁帮我测一下啊
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-11-4 16:33 资料 文集 短消息 只看该作者
试试用VC编辑图标。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-4 19:54 资料 个人空间 短消息 只看该作者 QQ
没学过VC。是Visual C++吗?
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-4 20:00 资料 个人空间 短消息 只看该作者 QQ
刚看了一下,好像不能编辑48x48的啊。
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-11-5 10:42 资料 文集 短消息 只看该作者
你确信VB支持48*48的图标吗?如果支持VC应该能编辑。我现在手里没有VB,有空我看看。
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-5 15:39 资料 个人空间 短消息 只看该作者 QQ
刚试过,VB6好像只支持32*32*16色的ICO
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-5 15:42 资料 个人空间 短消息 只看该作者 QQ
还有32*32*2色的Cur
顶部
性别:男-离线 阿尔法孝直
(雀力日进)

闽国公
遂安军节度使
★★★★★★

Rank: 19Rank: 19Rank: 19Rank: 19
柱国(正二品) 轩辕春秋年度最佳(游戏人生区)
组别 节度使
级别 卫将军
好贴 2
功绩 1796
帖子 6034
编号 19070
注册 2004-10-16
家族 轩辕雀党


发表于 2006-11-7 19:37 资料 个人空间 短消息 只看该作者 QQ
好像VB1.0/3.0/.NET 2005支持48*48ICO,VB4.0/6.0不支持,谁能帮忙搞一下,如何制作VB6.0支持的48*48的ICO
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2006-11-8 09:03 资料 文集 短消息 只看该作者
icon

A graphical representation of an object or concept; commonly used to represent minimized applications in Microsoft Windows. An icon is a bitmap with a maximum size of 32 x 32 pixels. Icons have an .ico file name extension.

VS6的MSDN里的说法。

[ 本帖最后由 Maxwell 于 2006-11-8 09:05 编辑 ]


顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-11-20 09:03
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.014846 second(s), 11 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP