3.将一个Hscroll 控件和一个list box“绑”到一起!5.同样类似与qq,定义一个快捷键(例如:Ctrl +A),press 这些键的时候,唤醒一个form!
6.不规则窗体!
7.在任务管理器中屏蔽你的程序!
8.怎么在检索数据库是显示检索进度!
9.用vb做一个动画:一排字体,字体变宽字体变窄,然后消失!

解决方案 »

  1.   

    我做两个:
    3.可以用sendmessage给listbox发送  Const LB_SETHORIZONTALEXTENT = &H194 这个消息,就会有Hscroll 了,例如:longtext="这是最长的一项"
    SendMessage List1.hwnd, LB_SETHORIZONTALEXTENT, Form1.TextWidth(longtext), ByVal 0&
    6.用CreatePolygonRgn ,SetWindowRgn 两个函数画多边行
    Public Const WINDING = 2
      Type POINTAPI
       X As Long
       Y As Long
      End Type
    forepoint() as pointapi 里是多边行的顶点,例画一个四边行
        hRgn = CreatePolygonRgn(ForePoint(0), 4, WINDING)
        iRes = SetWindowRgn(ForeCover.hwnd, hRgn, True)
    画椭圆行的函数是:Public Declare Function CreateEllipticRgn Lib "gdi32" Alias "CreateEllipticRgn" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
      

  2.   

    以前做出来的几个题已经给分,请会做的ggjjddmm们亮一手吧!而且有份赚,何乐而不为呢?
      

  3.   

    7.在任务管理器中屏蔽你的程序!
    我做了
    app.title=""
      

  4.   

    3.将一个Hscroll 控件和一个list box“绑”到一起!
    用api,sendmessage函数发消息
    5.同样类似与qq,定义一个快捷键(例如:Ctrl +A),press 这些键的时候,唤醒一个form!
    用api截获消息,具体是啥忘了,自己查一下
    6.不规则窗体!
    用api,CreatePolygonRgn,CreateRectRgn,CreateRoundRectRgn,CreateEllipticRgn,CombineRgn,SetWindowRgn等一些函数实现,自己查一下
    8.怎么在检索数据库是显示检索进度!
    用select count(*) from.....将总数取出来,然后用progressbar就可以了吧
      

  5.   

    lwl0614(最远距离)  第7题能给个例子吗?
      

  6.   

    liu584()   第6个 也还是没有懂,最好来个例子! 谢!
      

  7.   

    VERSION 5.00
    Begin VB.Form Form1 
       BackColor       =   &H80000000&
       Caption         =   "在窗体上单击变形;在窗体上双单击退出"
       ClientHeight    =   4830
       ClientLeft      =   1860
       ClientTop       =   2160
       ClientWidth     =   7080
       Icon            =   "Form1.frx":0000
       LinkTopic       =   "Form1"
       ScaleHeight     =   4830
       ScaleWidth      =   7080
    End
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Option Explicit' API 函数声明Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
    Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
    Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
    Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
    Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long'常数声明Private Const RGN_DIFF = 4
    ' 目标区域被设置为两个区域不相交的部分'模块级变量声明Private OutRgn As Long
    ' 外边的圆角矩形区域
    Private InRgn As Long
    ' 里边的椭圆区域
    Private MyRgn As Long
    ' 圆角区域剪切掉椭圆区域后的区域,也是窗体最终的形状Private Sub Form_Click()
    If OutRgn <> 0 And InRgn <> 0 And MyRgn <> 0 Then Exit Sub
    Dim w As Long, h As Long
    w = ScaleX(Form1.Width, vbTwips, vbPixels)
    h = ScaleY(Form1.Height, vbTwips, vbPixels)
    MyRgn = CreateRectRgn(0, 0, 0, 0)
    OutRgn = CreateRoundRectRgn(30, 30, w - 30, h - 30, 100, 100)
    InRgn = CreateEllipticRgn(100, 100, w - 100, h - 100)
    Call CombineRgn(MyRgn, OutRgn, InRgn, RGN_DIFF)
    Call SetWindowRgn(Form1.hWnd, MyRgn, True)
    Form1.BackColor = QBColor(4)
    End SubPrivate Sub Form_DblClick()
    Unload Form1
    End SubPrivate Sub Form_Load()
    OutRgn = 0
    InRgn = 0
    MyRgn = 0
    Form1.Width = 7800
    Form1.Height = 6000
    End SubPrivate Sub Form_Unload(Cancel As Integer)
    If MyRgn <> 0 Then DeleteObject MyRgn
    If OutRgn <> 0 Then DeleteObject OutRgn
    If InRgn <> 0 Then DeleteObject InRgn
    End Sub
      

  8.   

    Private Sub button_click()
    dim  cnDB As New ADODB.Connection
    dim StrSQL as String
       
        cnDB.ConnectionString = strCnn = "Provider=sqloledb;" & _
          "Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
     
        cnDB.CommandTimeout = 15
        cnDB.Open
        StrSQL="insert orders (cOrder,vNumber,vTab) values('" & text1 & "','" &  text2 & "','" & text3 & "')"    
        cnDB.Execute StrSQL
        cnDB.close
    End Sub
      

  9.   

    奇形怪状的窗体     普通的窗体都是方方的,使用API函数可以做出一些奇怪的形状。比如,窗体是圆角矩形,在中间挖一个椭圆形的洞。    先要理解一个重要的概念:区域。区域是描述设备场景中某一块的GDI对象,每个区域都有一个句柄。一个区域可以是矩形,也可以是复杂的多边形,甚至是几个区域组织在一起。窗体默认的区域就是我们看到的矩形,当然它并非一定要用这个默认的区域    现在开始,首先在窗体上做一个圆角矩形区域,这是窗体的大致轮廓。在圆角矩形里再确定一个椭圆形的区域,然后把这两个区域组织成一个区域,并设置窗体的区域为这个组织出来的区域。    CreateRoundRectRgn函数用于创建一个圆角矩形区域;CreateEllipticRgn用于创建一个椭圆区域;CombineRgn函数用于将两个区域组合为一个新区域;SetWindowRgn函数允许您改变窗口的区域。使用其他的函数还可以做出其他更奇怪的窗体。    源代码如下:    Option Explicit    ' API 函数声明    Private Declare Function CreateRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
        Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
        Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
        Private Declare Function CombineRgn Lib "gdi32" (ByVal hDestRgn As Long, ByVal hSrcRgn1 As Long, ByVal hSrcRgn2 As Long, ByVal nCombineMode As Long) As Long
        Private Declare Function SetWindowRgn Lib "user32" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
        Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long    '常数声明    Private Const RGN_DIFF = 4
        ' 目标区域被设置为两个区域不相交的部分    '模块级变量声明    Private OutRgn As Long
        ' 外边的圆角矩形区域
        Private InRgn As Long
        ' 里边的椭圆区域
        Private MyRgn As Long
        ' 圆角区域剪切掉椭圆区域后的区域,也是窗体最终的形状    Private Sub Form_Click()
            If OutRgn <> 0 And InRgn <> 0 And MyRgn <> 0 Then Exit Sub
            Dim w As Long, h As Long
            w = ScaleX(Form1.Width, vbTwips, vbPixels)
            h = ScaleY(Form1.Height, vbTwips, vbPixels)
            MyRgn = CreateRectRgn(0, 0, 0, 0)
            OutRgn = CreateRoundRectRgn(30, 30, w - 30, h - 30, 100, 100)
            InRgn = CreateEllipticRgn(100, 100, w - 100, h - 100)
            Call CombineRgn(MyRgn, OutRgn, InRgn, RGN_DIFF)
            Call SetWindowRgn(Form1.hWnd, MyRgn, True)
            Form1.BackColor = QBColor(4)
        End Sub    Private Sub Form_DblClick()
            Unload Form1
        End Sub    Private Sub Form_Load()
            OutRgn = 0
            InRgn = 0
            MyRgn = 0
            Form1.Width = 7800
            Form1.Height = 6000
        End Sub    Private Sub Form_Unload(Cancel As Integer)
            If MyRgn <> 0 Then DeleteObject MyRgn
            If OutRgn <> 0 Then DeleteObject OutRgn
            If InRgn <> 0 Then DeleteObject InRgn
        End Sub    这个程序运行后,在窗体上单击,窗体就会变形,双击窗体程序结束。要注意的是,在卸载窗体时,用DeleteObject函数删除已定义的区域。