📄 试刊1.txt
字号:
<<编程技术>>
一份属于广大编程爱好者的mailing list
试刊第一期 99/02/22
<本期栏目>
*发刊词*
*技术文档*
两篇关于VB的应用技巧
--满屏播放AVI文件
--创建非模式对话框
用Delphi实现JPEG格式图像的显示
*有问必答*
----------------------------------------------
<发刊词>
<<编程技术>>在筹备了一段时间后,今天终于问世了.
能自己创办一份的刊物,一直是本人的夙愿.如今终于梦想
成真了.
我虽称不上是一个编程高手,但至少也是个爱好者,学
过VB和VC,但到目前都学的很浅.不知是不是我太孤陋寡闻,
好象专门关于编程方面的Mailing List很少,于是我就萌发
出自己独立创办一份面向广大编程爱好者的刊物.如果能给
大家带来一点帮助就是对我最大的鼓励.
本刊物初定为周刊,这一期试刊只是先做个尝试,内容
和栏目还会再做调整.欢迎大家多提意见和建议,共同办好
这份属于大家的刊物,谢谢!!
另外做个小小的广告,本人的个人主页前几天正式对外
开放,目前访问的人还不是很多,望大家多多光临指教.
(http://yaozheng.yeah.net --编程资讯站)
-----------------------------------------------
-----------------------------------------------
<技术文档>
两篇关于VB的应用技巧
--满屏播放AVI文件
--创建非模式对话框
用Delphi实现JPEG格式图像的显示
------------------------------------------
*满屏播放AVI文件*
微软公司供稿
摘要
本文介绍了如何在Visual Basic中实现满屏播放AVI文件。
满屏播放AVI文件
在Windows系统中,满屏播放AVI文件同在窗口中播放AVI文件是不同的,
在满屏播放的时候不需要屏幕上的颜色进行抖动,只需要将调色板设置
为AVI文件所独有的就可以了,这是因为没有其它的窗口在背景中存在
的缘故。
使用Windows 应用程序编程接口(API)的mciSendString函数可以实现
对AVI文件的播放。
样例程序
下面的样例程序将满屏播放位于C盘根目录下的test.avi文件。你可以
将你的Windows 95 CDROM中的某些AVI文件改名并拷贝到C盘根目录下以
播放它。
1.在Visual Basic中开始一个新的项目,采用缺省的方法建立Form1。
2.将如下的声明语句添加到Form1的通用声明部分中(注意每个声明语句需要
被书写在一行内):
Private Declare Function mciSendString Lib "winmm.dll" Alias _
"mciSendStringA" (ByVal lpstrCommand As String, ByVal _
lpstrReturnString As Any, ByVal uReturnLength As Long, ByVal _
hwndCallback As Long) As Long
3.在Form1上添加一个命令按钮控件,采用缺省的方法建立Command1。
将它的Caption属性设置为“播放文件”。
4.将如下的代码添加到Command1的单击事件中:
Private Sub Command1_Click()
CmdStr$ = "play c:\test.avi fullscreen "
ReturnVal& = mciSendString(CmdStr$, 0&, 0, 0&)
End Sub
通过按下F5键来执行样例程序。单击播放命令按钮,可以在满屏方式下
播放AVI文件。
----------------------------------------------
*创建非模式对话框*
微软公司供稿
摘要
本文介绍了如何在Visual Basic中创建一个非模式(modeless)的对话框。
非模式(modeless)的对话框
在Windows系统中的对话框有三种,一种是模式对话框,一种是非模式对话
框,最后一种是系统模式对话框。模式对话框允许用户将焦点转移到其它的
应用程序上,但是不允许将焦点转移到该对话框的父窗口上。非模式对话框
既允许将焦点转移到其它的应用程序上,也允许用户将焦点转移到其父窗口
上。系统模式对话框既不允许将焦点转移到其父窗口上,也不允许将焦点转
移到其它的应用程序上。
使用Windows应用程序编程接口(API)的SetWindowWord函数可以创建非模
式的对话框,要使用该函数,需要将如下的声明语句以及常量包含在你的窗
体的通用声明部分中:
Private Declare Function SetWindowWord Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal wNewWord As Long) As Long
Const GWL_HWNDPARENT = (-8)
采用常量GWL_HWNDPARENT来调用该函数可以返回原始父窗口的句柄,当窗口
被unloaded时我们需要恢复它,以避免一个通常保护性(GP)错误。
样例程序
1.在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。
2.添加第二个窗体,采用缺省的方法建立Form2。
3.将如下的代码添加到Form1的Form_Load事件中:
Private Sub Form_Load()
Form2.Show
Form1.Caption = "父窗体"
Form2.Caption = "子窗体"
End Sub
4.将如下的代码添加到Form2的通用声明部分中:
Private Declare Function SetWindowWord Lib "user32" _
(ByVal hwnd As Long, ByVal nIndex As Long, _
ByVal wNewWord As Long) As Long
Const GWL_HWNDPARENT
-----------------------------------------
用Delphi实现JPEG格式图像的显示
作者:余庆
Delphi中的TImage控件直接支持Bitmap格式(.bmp)、 Icon格式(.ico)和
Metafile格式(.emf or .wmf)的图像文件。在Delphi的设计窗口中可以把
这三种格式的文件赋给TImage控件的Picture属性。TImage控件还能显示
其他格式的图像,如JPEG格式的图像。但不能直接把文件名赋值给Picture
属性,而需要把图像对象赋值给属性Picture的Graphic属性。Delphi 3.0
提供了TJPEGImage类来支持JPEG图像,调用TJPEGImage的方法LoadFromFile
可以从文件中装载JPEG图像。因此显示JPEG格式的图像,实现起来相对容易
一些。以下是一个测试程序的制作过程:
1.建立一个新的应用程序,窗体(Form)的名字为Form1,
对应的单元名为Unit1。
2.在窗体中放置一个TImage控件,名字为Image1,将其AutoSize属
性设为True。
3.在窗体中放入一个按钮(即TButton控件),取名为Button1,把
其属性Caption改为“装载图像”,在Button1的OnClick事件中,
加入代码后如下:
procedure TForm1.Button1Click(Sender: TObject);
var JPEGImage:TJPEGImage;
begin
JPEGImage:=TJPEGImage.Create;
//创建JPEG图像对象
try
JPEGImage.LoadFromFile(′F:\forest.jpg′);
//从文件F:\forest.jpg中装载图像,
//视实际情况改变此处的文件名
Image1.Picture.Graphic:=JPEGImage;
//赋值,使Image1显示JPEG图像
finally
JPEGImage.Free; //释放对象
end;
end;
4. 类TJPEGImage定义在单元jpeg.pas中,因此必须在本单元
(即单元Unit1)的uses 子句中包括单元jpeg。
5.运行本程序,进行测试。
以上程序在Delphi 3.0下调试通过。
---------------------------------------
---------------------------------------
<有问必答>
1.我刚刚学习vb的编程,请问可否在程序中应用类是与word
的打印预览功能,在打印.怎样调用.
答:
可在VB的程式里引用word的automation对象.可先在工程菜单中选
引用,叉(check)上word document8.0的对象。然后在程式里加入
如下代码(比如是打印预览一个文件本应用目录下的jr.doc)即可进
行预览:dim myWrdApp as new Word.Applicationmy
WrdApp.documents.open(app.path+"\jr.doc")mywrdApp.activedocument.preview'
2.请问Delphi与Pascal有什么不同,功能与Visual C++相比如何?
哪里能下载到比较详细的教程(最好是中文的)?
答:
DELPHI 用的是OBJECT PASCAL,也就是对象化的PASCAL,与C与C++
的差别差不多而且经测试,DELPHI编译的代码执行效率比VC高.
3.我想问一下:Delphi和C++Builder相比学哪一个好?我已经会
VC了,但不懂Pascal。Delphi能实现的功能C++Builder都能实
现,是不是这样?另外,C++Builder最新的版本是多少?谢谢!
答:
如果你精通C++,那么建议学习C++ Builder。C++ Builder并不能
实现Delphi的全部功能,因为最新版的Delphi包含了一点点C++
Builder未包含的组件,不过绝大部分功能是有的。
最新版本:C++ Builder 3,Delphi 4。
--------------------------------------
<编者的话>
如果您觉得这份刊物还不错的话,欢迎把它介绍给您的朋友.
不知道您看了这期刊物有什么想法或者是意见,欢迎向我提出来.
本人感激不尽,我的联系方法如下:
E-mail:yaozheng@kali.com.cn
Homepage:http://home.baoding.cn.net/~yaozheng
http://yaozheng.yeah.net---编程资讯站
<<编程技术>>订阅方法:
订阅:向yaozheng@kali.com.cn发封邮件
主题:subscribe 内容为您希望收到刊物的E-mail
退订:向yaozheng@kali.com.cn发封邮件
主题:unsubscribe 内容为您订阅刊物时的E-mail
-------------THE END-------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -