会员书架
首页 > 游戏竞技 > 十万元的电脑 > 第18部分

第18部分(第2/5 页)

目录
最新游戏竞技小说: HP就你叫伏地魔?黑魔王?这也不够黑啊区区如懿,打就打了港片:拿王炸开局,专嚯嚯女神第五人格:各自安好火影:从百分百完美虚化开始!入住黄金庭院后,爱莉拉我直播女扮男装后,我被校花疯狂表白风流短跑之神时空中的深情鲁鲁修凌驾于诸天凹凸世界:雷震之女网游之熟女陪我上青云穿越恋歌:上官与夏侯【HP】布莱克家族莫名其妙的异世界冒险英雄联盟之玩家对战强势文化手册特种兵张霄回村搞大事,被女学霸懂不懂ADCarry的含金量穿越王者:聊天室里的英雄传奇

2、使用 Image 属性保存的用画图命令(如 Line,Cirele,Pset 或 Print)画出来的图形总是以 BMP 文件格式保存。但在程序设计时如果使用窗体或图片框的 Picture 属性载入或在程序运行时通过 LoadPicture 函数载入的图象,使用 SavePicture 语句存储时,存储的文件格式同其载入前的文件格式一样(如 ICO 格式等)。

102;Q:在 Visual Basic 中如何拖动窗体或控件?

A:现在的许多 windows 下的应用程序,都采用了图形化的界面,但是在这样的界面下就不能使用 Windows 原来的标题条了,否则会影响界面的美观。那么在没有标题条的情况下如何用鼠标拖动窗体或者其它的控件呢?

其实,采用 API 函数调用很容易实现,下面我们以拖动窗体 Form1 为例来具体讲一下实现方法:

1、新建立一个项目,名称为 test。vbp;

2、填加一个模块,名称为 test。bas,并且在声明部分加入以下代码:

Declare Function ReleaseCapture Lib 〃user32〃 () As Long

Declare Function SendMessage Lib 〃user32〃 Alias 〃SendMessageA〃 (ByVal hwnd As Long; ByVal wMsg As Long; ByVal wParam As Long; lParam As Any) As Long

Public Const WM_SYSMAND = &H112

Public Const SC_MOVE = &HF012

其中 ReleaseCapture 函数是用来释放鼠标捕获的,SendMessage 函数是一个在 Windows API 中非常重要的函数,在这里的作用是用来向 Windows 发送移动窗体的消息。WM_SYSMAND 是向 Windows 发送消息的常量。SC_MOVE 是控制移动窗体的常量。请注意:这里 SC_MOVE 的赋值是 &HF012,表示鼠标对象。

3、在窗体的 MouseDown 过程中加入以下代码:

Private Sub Form_MouseDown(Button As Integer; Shift As Integer; X As Single; Y As Single)

ReleaseCapture

SendMessage Me。hwnd; WM_SYSMAND; SC_MOVE; 0

End Sub

其中 ReleaseCapture 函数用来释放鼠标捕获,SendMessage 函数向 Windows 发送移动窗体的消息。

4、保存并运行程序,按下鼠标,你会发现窗体会随着鼠标的移动而移动。

以上讲述了如何在 VB 中用鼠标拖动窗体,其实,控件的拖动的原理是一样的。例如以下代码可以实现图片框的拖动:

ReleaseCapture

SendMessage Picture1。hwnd; WM_SYSMAND; SC_MOVE; 0

(注:以上程序在 Windows98、VB5。0/6。0 下调试通过。在 NT4。0、VB6。0 下不能运行。)

103;Q:用 Delphi5。0 编程实现 Windows 桌面的隐藏和显示

A:实现原理是调用 Windows 的 API 函数。程序代码如下:

procedure TForm1。Button1Click(Sender: TObject);

var hDesktop:Thand

本章未完,点击下一页继续。

目录
逍遥小镇长四合院:谁喊傻柱弄死谁胸有大痣逆霸享受人生 上少将夫人请息怒
返回顶部