当鼠标在窗体上的时候,会有一排字跟随鼠标的移动而移动。并且要求这排文字能超出窗体,怎样实现呢?谢谢

解决方案 »

  1.   

    定义变量
    var
      dc:HDC;
      pt,pt1:TPoint;
    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      form1.Repaint;
      pt.x:=x;
      pt.y:=y;
      dc:=getdc(0);//直接画在屏幕上
      pt1:=clienttoscreen(pt);
      textout(dc, pt1.x+5, pt1.y+10, string, strlen(string));
    end;
      

  2.   

    怎么是vb论坛,不好意思,我以为是delphi论坛,所以发的delphi代码,不过方法类似了
      

  3.   

    没学过delphi
    强烈要求vb代码
      

  4.   

    在VB中也是用API函数getdc()来做。
      

  5.   

    方法加到form的鼠标移动事件中,
    1:重画窗口
    2:获得桌面的dc
    3:直接用textout显示字符
    就ok了
      

  6.   

    Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.ForeColor = vbRed
    Label1.FontSize = 12
    Label1.Left = X - Label1.Width
    Label1.Top = Y
    End Sub
      

  7.   

    定义变量
    var
      dc:HDC;
      pt,pt1:TPoint;
    procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    begin
      form1.Repaint;
      pt.x:=x;
      pt.y:=y;
      dc:=getdc(0);//直接画在屏幕上
      pt1:=clienttoscreen(pt);
      textout(dc, pt1.x+5, pt1.y+10, string, strlen(string));
    end;
    Delphi?????