kusoben
kusoben
关注数: 4
粉丝数: 4
发帖数: 172
关注贴吧数: 2
个人中心一直打不开 急着呢
图形消失,困惑中...[请教] 大家看看这段代码[http://post.baidu.com/f?kz=80362474 的]Private Sub Form_click() m = 6 For n = 1 To 9 Step 2 m = m - 1 a = String(n, "*") Print Tab(m); a Next For i = 3 To 9 Step 2 Print Tab((i + 1) / 2); For j = 9 To i Step -1 Print "*"; Next Next End Sub 大家用它运行一下,画出几个菱形然后点一下另一个窗体,再回来,会发现先前出现的菱形消失了,这是为什么呀
让VB应用程序支持鼠标滚轮[转载]...精品吧 一、提出问题 自从1996年微软推出Intellimouse鼠标后,带滚轮的鼠标开始大行其道,支持鼠标滚轮的应用软件也越来越多。但我感到奇怪,为什么VB到6.0本身仍然不支持鼠标滚轮,VF可是从5.0就提供MouseWheel事件了。 如何让VB应用程序支持鼠标滚轮?MSDN上有一篇解决VB下应用Intellimouse鼠标的文章,它解决这一问题的方法是通过一个几十K的第三方控件实现的,可惜该控件没有源代码。况且为了支持鼠标滚轮使用一个第三方控件,好像有点得不偿失。本文给出用纯VB实现这一功能的方法。 二、解决问题 我们知道VB应用程序响应的Windows传来的消息,需要通过VB解释。可是很不幸,虽然VB解释所有得消息,却只让用户程序在事件中处理部分消息,VB自己处理其他的消息,或者忽略这些消息。 在VB5.0以前应用程序无法越过VB直接处理消息,微软从VB5.0开始提供AddressOf 运算符,该运算符可以让用户程序将函数或者过程的地址传递给一个API函数。这样我们就可以在VB应用程序中编写自己的窗口处理函数,通过AddressOf 运算符将在VB中定义的窗口地址传递给窗口处理函数,从而绕过VB的解释器,自己处理消息。事实上,该方法可用于在VB中处理任何消息。 实现应用程序支持鼠标滚轮的关键是,捕获鼠标滚轮的消息 MSH_MOUSEWHEEL、WM_MOUSEWHEEL。其中MSH_MOUSEWHEEL是为95准备的,需要Intellimouse驱动程序,而WM_MOUSEWHEEL是目前各版本Windows(98/NT40/2000)内置的消息。本文主要处理WM_MOUSEWHEEL消息。下面是WM_MOUSEWHEEL的语法。 WM_MOUSEWHEELfwKeys = LOWORD(wParam); /* key flags */ zDelta = (short) HIWORD(wParam); /* wheel rotation */xPos = (short) LOWORD(lParam); /* horizontal position of pointer */yPos = (short) HIWORD(lParam); /* vertical position of pointer */ 其中:fwKeys指出是否有CTRL、SHIFT、鼠标键(左、中、右、附加)按下,允许复合。zDelta传递滚轮滚动的快慢,该值小于零表示滚轮向后滚动(朝用户方向),大于零表示滚轮向前滚动(朝显示器方向)。lParam指出鼠标指针相对屏幕左上的x、y轴坐标。 滚轮按钮相当于普通的三键鼠标的中键,根据滚轮按钮的动作,Windows分别发出WM_MBUTTONUP、WM_MBUTTONDOWN、WM_MBUTTONDBLCLK消息,这些消息VB已经在鼠标事件中支持。 三、实际应用 根据上述原理,给出一个数据库应用的典型例子。 1.户界面如图1所示。该例是班级和学生一对多的查询,当用户在学生网格以外滚动鼠标滚轮,班级主表前后移动;用户在网格以内滚动鼠标学生明细表垂直移动;如果在网格以内按住鼠标滚轮键并且滚动鼠标,学生明细表水平移动。 2.Form1上ADO Data 控件对象datPrimaryRS的 ConnectionString为"PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;dsn=SCHOOL;uid=;pwd=;", RecordSelectors 属性的SQL命令文本为"SHAPE {select * from 班级} AS ParentCMD APPEND ({select * from 学生 } AS ChildCMD RELATE 班级名称 TO 班级名称) AS ChildCMD"。 3.TextBox的DataSource均为datPrimaryRS,DataFiled如图所示。 4.窗口下部的网格是DataGrid控件,名称为grdDataGrid。 5.表单From1.frm的清单如下: Private Sub Form_Load()Set grdDataGrid.DataSource = _datPrimaryRS.Recordset("ChildCMD").UnderlyingValueHook Me.hWndEnd SubPrivate Sub Form_Unload(Cancel As Integer)UnHook Me.hWndEnd Sub---- 6.标准模块Module1.bas清单如下: Option ExplicitPublic Type POINTLx As Longy As LongEnd TypeDeclare Function CallWindowProc _Lib "USER32" Alias "CallWindowProcA" _(ByVal lpPrevWndFunc As Long, _ByVal hWnd As Long, _
InStr 和 InStrB 的有什么区别啊...[请教] 看看这些代码Dim finds, add As StringText1.SetFocusfinds = "e"add = InStr(Text1.Text, finds)Text1.SelStart = add - 1Text1.SelLength = Len(finds)Print add 注:Text1.text="Text1"使用instr结果选中"e",print 2使用instrb结果选中"x",print 3这是为什么呀
迷惘中...[请教] 大家看看以下代码Dim find, address As Stringfind = InputBox("请输入要查找的字符串")address = InStr(Text1.text, find)If address ThenText1.SelStart = address - 1Text1.SelLength = Len(find)ElseMsgBox "没找到"End If为什么找到后不会选中所查找的字符呀(以前看做记事本的教程也是,查找字符串都无法选中,这是为什么呀...)恳请赐教...
困惑中...[请教] 大家看看这句Combo1.Text = Combo1.List(0)为什么用在 form_load 中没有效果(combo1的text显示空白)而在 command1_click 就行啊
如何解一元二次方程 用二分法求教
请教如何实现... 分解一个数,如把6分解为2*3 , 8分解为2*2*2谢谢
热心人进来帮一下 1、keypress 和 keydown 有什么分别,keycode 和 keyascii 有什么分别2、x = Form1.ScaleLeft + Form1.ScaleWidth / 2y = Form1.ScaleTop + Form1.ScaleHeight / 2和x = Form1.ScaleWidth / 2y = Form1.ScaleHeight / 2不是一样吗3、要编一个这样的程序,该怎样呀两个文本框比如分别输入 5 3则计算5+55+555分别输入 4 4则计算4+44+444+4444thanks
关于文件操作,帮一下 我用以下代码来写文件(写入数字)Open "D:\DownLoads\vb\notea.txt" For Output As #1notea = aWrite #1, noteaOpen "D:\DownLoads\vb\noteb.txt" For Output As #2noteb = bWrite #2, notebOpen "D:\DownLoads\vb\notec.txt" For Output As #3notec = cWrite #3, notecClose #1, #2, #3a,b,c本来是数字,为什么有时写进去是带双引号的,而且双引号越来越多
成玄璇是谁 成玄璇是谁我怎么没听过
大家进来帮我一下 大家有没有试过90元60小时的套餐,电信不是说它的速度和包月一样,那为什么我的同学包月,下载速度有一两百k,而我平常的下载速度只有40多k帮我一下
我的发贴行为被系统认为有发广告嫌疑???????????????????? 发贴时遭到这样的侮辱
约瑟夫问题(求教) n人围成一圈,从第一个人开始报数,报到是m的倍数的人离开,直至剩下最后一人 比如n=17,m=3(随便取)这个问题很经典了,虽简单,但涵盖了很多知识求源码(以n=17,m=3为例)
约瑟夫问题(求教) n人围成一圈,从第一个人开始报数,报到是m的倍数的人离开,直至剩下最后一人这个问题很经典了,虽简单,但涵盖了很多知识求源码
大家学vb都看过什么书籍,教教小弟
恭喜 Deane·King 担当 VB 吧吧主 Deane·King帮过我,我狂顶太热心了
高手来 http://post.baidu.com/f?kz=65703502
自认高手的进来回 一个文本框、按钮,要求在文本框中输入一个函数表达式,如"f(x)=x+1",按按钮即可画出他的图象求教谢谢谢谢
严重邀请吧主/高手进“高手快来叫我啊?我贴了好多次,都没人来教
1
下一页