请问如何随着鼠标的点击使label的caption改变?

sissiandxixi 2004-02-02 06:06:44
我是不折不扣的大菜鸟一名,VB才刚学,基本上处于不会阶段,可是还是想用VB编个AVG游戏(老实讲,我就是为着编游戏这个宏伟志愿才学习VB的)。目前遇到了问题,那就是众所周知,游戏中的对话都是按一下鼠标对话换一下的。在VB中应该如何实现这个效果?
我的对话是放在label上的,对话内容的改变应该是caption变化吧,如何使其随着鼠标的点击而改变呢?
我之前的想法是定义一个变量Gotimes,在label_click事件下,Gotimes=Gotimes+1
然后通过select case,来点一下是一个caption,点第二下caption改变,如此推之。可是经过实验根本不行(哭啊~~)

我后来试试将每句对话都dim成string,可是我只会dim XX as string,却不会定义该变量为我想要的句子(我真的很菜啦!)于是该次尝试又宣告失败。

还请达人提供更好更简单的方法,谢谢!(不过不要让我用API,我还不会用啊)

另外还想问一下事件里面可否再套一个事件?
...全文
133 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
pigpag 2004-02-03
  • 打赏
  • 举报
回复
"1" "2"
northwolves 2004-02-03
  • 打赏
  • 举报
回复
Dim Gotimes As Long
Private Sub Form_Load()
Gotimes = 0
End Sub

Private Sub Label1_Click()
Gotimes = Gotimes + 1
Label1.Caption = "the number is: " & Choose(Gotimes Mod 10 + 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
End Sub
laozhaoskinny 2004-02-03
  • 打赏
  • 举报
回复
如果定义过程变量时用 static Gotimes as long ,这样变量Gotimes 就会按照你的愿望变化喽。
of123 2004-02-03
  • 打赏
  • 举报
回复
我之前的想法是定义一个变量Gotimes,在label_click事件下,Gotimes=Gotimes+1
然后通过select case,来点一下是一个caption,点第二下caption改变,如此推之。可是经过实验根本不行(哭啊~~)

你是怎么实验的?理论上应该没有问题。变量 Gotimes 应该是全局变量,不要在过程里声明,否则每进入过程时建立,离开过程时销毁,值永远不能增加。
啊维 2004-02-03
  • 打赏
  • 举报
回复
兄弟,先学一下数据库吧
kmzs 2004-02-03
  • 打赏
  • 举报
回复
控件数组
goodname008 2004-02-03
  • 打赏
  • 举报
回复
用Access建立数据库,在VB中用ADO读出来,不是很难的,看看吧。:)
实在不行就只能用我上面的办法了,放到数组里(如果不多的话)。
要不然就用文件。

sissiandxixi 2004-02-02
  • 打赏
  • 举报
回复
可是我这么菜根本就不会用数据库啊
goodname008 2004-02-02
  • 打赏
  • 举报
回复
' 只是大概意思,实际的对话可以放到数据库中,用ADO读出来。

Option Explicit
Dim talk(100) As String
Dim i As Long

Private Sub Form_Load()
For i = 0 To UBound(talk)
talk(i) = "talk" & CStr(i)
Next i
End Sub

Private Sub Label1_Click()
Static Gotimes As Long
Label1.Caption = talk(Gotimes)
Gotimes = Gotimes + 1
End Sub
sissiandxixi 2004-02-02
  • 打赏
  • 举报
回复
up
sissiandxixi 2004-02-02
  • 打赏
  • 举报
回复
up
《VB程序设计》实验单元一 实验报告 专业班级: 姓名 学号 2 指导教师: 王云侠 完成时间: 3月22日 实验 一VB环境和可视化编程基础 1. 实验目的 1 了解Visual Basic的安装 2 掌握启动与退出Visual Basic 3 掌握建立、编辑和运行一个简单应用程序的全过程 4 掌握基本控件的使用 二、实验环境 VB6.0 三、实验内容 1、编写一程序,在文本框中统计在该窗口上鼠标单击的次数。 提示:对窗口编写两个事件:Form_Load事件对文本框初值设为空;Form_Click事件对文 本框计数。 对文本框计数:Text1=Val(text1)+1 。 2、命令按钮、字号、内容和格式的复制练习。 按钮1:使得Text1中的文本按要求改变。 按钮2:将Text1中选定的文本复制到Text2. "控件名 "属性 " "Form1 "Caption="实验2" " "Label1 "复制文本 " "Label2 "输入文本 " "Text1 "Text="VB功能强大,但要下功夫学习" " "才能学好。" " " "(每个同学文本框中内容可以不同)" "Text2 "Text="" " "Command1 "Caption="隶书25磅" " "Command2 "Caption="复制=>" " 四、实验步骤 1、编写一程序,在文本框中统计在该窗口上鼠标单击的次数。 从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加一个Label和TextBox,Labelcaption改为"你单击窗体的次数",TextBox的te xt改为空,然后编写代码如图 点击运行即可。 2、命令按钮、字号、内容和格式的复制练习。 从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加两个Label两个TextBox两个CommandButton,Labelcaption改为"输入内容"和 "复制效果",TextBox的text改为"任意文字"和"空",CommandButton的caption改为"隶 书25磅"和"复制=>"。并且左面的Label改为如图 代码如图 点击运行即可 五、实验结果 1. 2. 六、实验体会 VB很有意思 实验二 VB语言基础和顺序结构 一 、实验目的 1、掌握正确书写表达式、赋值语句的规则 2、掌握常用函数的使用 3、掌握MsgBox与InputBox的使用 4、掌握Print和Format的使用 二、 实验环境 VB6.0 三、 实验内容 1、输入半径的值,分别计算并输出圆的面积、圆的周长和球的体积。 2、随机产生一个3位正整数,然后逆序输出,产生的随机数与逆序数同时显示。例如 735,输出537. 提示:利用"Mod"和"\"将一个3位数分离出3个1位数,然后连接成一个逆序的3位数。 四、实验步骤 从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加两个CommandButton,CommandButton的caption改为"参数输入半径计算结果"和"随 机数及逆序"。然后输入代码如图 运行即可 五、实验结果 六、实验体会 666 实验三 选择结构 一、实验目的 1. 掌握逻辑表达式的正确书写形式。 2. 掌握单分支与双分支条件语句的使用。 3. 掌握多分支条件语句的使用。 4. 掌握情况语句的使用及其与多分支条件语句之间的区别。 二、实验环境 VB6.0 三、实验内容 1. 输入3个整数,输出最大的数。 2. 输入一个三位数,判断是否为水仙数。水仙数的特点:个位数、十位数和百位数的立 方和等于该数自身的数。 3. 输入一个1~12的月份数字,显示这个月份是第几季度。 实验步骤 1.输入3个整数,输出最大的数。 从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加4个TextBox的text都改为"空",添加一个Label的将Label中的文字改成"输入三个整 数";添加一个CommandButton将CommandButton改成"输出最大值" 输入代码如图 运行即可 2. 输入一个三位数,判断是否为水仙数。水仙数的特点:个位数、十位数和百位数的立方 和等于该数自身的数 从运用中点击vb6.0经典版 打开标准 EXE 建立一个form 1 添加一个Label;一个TextBox;一个commandButton;将Label中的caption改成"输 入一个三位数判断是否为水仙花";将TextBox中的text改为"文字清空"将commangButt on中的caption改成"判断" 输入代码如图 运行即可 3.输入一个1~12的月份数字,显示这个月份是第几季度。 从运用中点击vb6.0经典版 打开标准
第十章 常用的表单控件 VFP在面向对象开发环境中,是通过在表 单上放置控件来完成信息的输入设计工作的。 在设计表单时可以使用两类控件:与表中数据 捆绑的控件和不与数据捆绑的控件。所谓捆绑 控件是指当输入或选择的值要保存或者被引用 时,就需为该控件设置一个数据源,数据源可 以是表中的字段或变量。对于数据源是变量或 字段的控件,则需要设置控件的ControlSource 属性;若数据源是整个表中的数据,则需要设 置RecordSource属性。而非捆绑控件则不与数 据源直接捆绑。 10.1 标签控件(Label) 标签控件:它是一个显示文本图形的控件, 在设计时可以直接修改其中的文本,标签具有自 己的一套属性、事件和方法,能够响应绝大多数 鼠标事件,可以在运行时动态地改变标签文本。 可以使用TabIndex属性为标签指定一个Tab次序, 但标签并不能获得焦点,而是将焦点传递给Tab 键次序中紧跟着标签的下一个控件。 常用的标签属性: Caption属性 用于指定标签的标题文本,最多可包含的字 符数量为256。标签文本显示在屏幕上以帮助用 户识别各个对象。用户在产生表单或控件对象时, 系统给予对象的Caption属性值和Name属性值是 相同的,此时用户应特别注意它们的区别。 用户在为控件设置Caption属性时,可以将其 中的某个字符作为热键,方法是在该字符前插入 一个反斜杠(\)和一个小于号(<)。 AutoSize属性 该属性用于确定是否根据标题的长度来调整 标签的大小。 Alignment属性 该属性指定标题文本在控件中显示时的对齐 方式。对于不同的控件,该属性的设置是有区别 的。对于标签,该属性的设置值如下表所示。 设置值 说 明 0 (默认值)左对齐,文本显示在区域的 左边 1 右对齐,文本显示在区域的右边 2 中央对齐,将文本居中排放,使左右两 边的空白相等 BackStyle属性 该属性用于确定标签是否透明。当标签控件 完全处于另一个控件的上方时,标签将遮住下方 的控件,此时若标签控件的BackStyle属性设置为 0,则下方的控件将透过标签显示出来。 WordWrap属性 该属性用于确定标签上显示的文本能否换行。 前提是AutoSize属性值应设置为.T.。 FontSize属性 该属性确定标签上显示的文本字体的大小。 ForeColor属性 该属性用于确定标签上显示的文本字体的颜 色。 【例10.1】交换两个变量中的数据(如下图1所示) 。 设计步骤如下: 建立应用程序用户界面。 选择"新建"表单,进入表单设计器,增加一 个命令按钮Command1,4个标签Label1、Label2、 Label3、Label4(如图10-3左所示)。 设置对象属性(如表10-2),设置完成之后的 界面如图10-3右所示。 编写程序代码。 *编写命令按钮Command1的Click事件代码: t= Thisform.Label3.Caption Thisform.Label3.Caption= Thisform.Label4.Caption Thisform.Label4.Caption=t 运行程序,单击"交换"按钮,即可看到两个白 框中的数据相互交换。 例10.1 10.2 命令按钮控件(Command) 命令按钮一般是用于启动某一动作的事件 (如关闭表单、移动记录等)。这些事件的操作 代码通常是放置在命令按钮的Click事件中。当用 户需要完成某项特定的操作时,可单击此命令按 钮。 常用属性: Default属性和Cancel属性 Default属性值为.T.的命令按钮称为"确认" 按钮。命令按钮的Default属性的默认值为.F.。一 个表单内只能有一个"确认"按钮,当用户将某 个命令按钮设置为"确认"按钮时,先前存在的 "确认"按钮将自动变为"非确认"按钮。 "确 认"按钮的行为要受到KEYCOMP设置(DOS或 WINDOWS)的影响。在"确认"按钮所在的表 单激活的情况下,"确认"按钮的行为如下表所 示。 设置值 效 果 DOS 按Ctrl+Enter,选择"确认"按钮、执行Click事件代码 WINDOWS 当焦点不在命令按钮上时,按Enter,选择"确认"按钮、 执行Click事件代码 Cancel属性值为.F.的命令按钮称为"取消" 按钮。命令按钮的Cancel属性默认值为.F.。在" 取消"按钮所在的表单激活的情况下。按Esc键即 可激活"取消"按钮,执行该按钮的Click事件代 码。 这两个属性在设计和运行阶段都可使用,主 要适用于命令按钮。 Enabled属性 指定表单或控件能否响应由用户引发的事件。 默认值为.T.,即对象是有效的,能被选择,能响应 用户引发的事件。 Enabled属性使得用户(程序

7,763

社区成员

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

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