翻新时间:2023-03-02
在Delphi中巧用Windows 的API函数
在Delphi中巧用Windows 的API函数 在Delphi中巧用Windows 的API函数 信息技术论文 更新:2006-4-8 阅读: 在Delphi中巧用Windows 的API函数
在Delphi中巧用Windows 的API函数
潘汉杰
河南金融管理学院计算机教研室
应用之一:Delphi中有控件MEMO,当使用应控件输入内容或编辑时,如何确定光标当前的位置呢?这时就可以调用Windows API函数中的EM_LINEFROMCHAR和EM_LINEINDEX消息来确定MEMO控件中光标的当前行和列,具体调用方法的过程如下:
procedure TForm1.Button1Click(Sender: TObject);
var
LineNum:longint;
CharsBeforeLine:longint;
begin
LineNum := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,
Memo1.SelStart,0);
CharsBeforeLine:=SendMessage(Memo1.Handle,EM_LINEINDEX,
LineNum,0);
Label1.Caption:='Line: '+IntToStr(LineNum +
1);
Label2.Caption:='Position: '+IntToStr((Memo1.SelStart -
CharsBeforeLine)+
1);
end;
应用之二:Delphi中的控件TlistBox没有提供水平滚动条,如果想添加一个水平流动条,我们只需使用API函数给TListBox 发送一个LB_SetHorizontalExtent消息就行了。
源代码如下:
longint(0));
应用之三:当我们需要获取所运行程序的计算机的分辨率时,有二种方法:①可以通过访问Delphi提供的SCREEN全局变量,即SCREEN.WIDTH和SCREEN.HEIGHT以像素点给出屏幕的分辨率。②利用WINDOWS的API函数GetDeviceCaps()来得到所用显示器的分辨率,源代码如下:
Application.Initialize;
Application.CreateForm(TForm1, Form
1);
CASE GetDeviceCaps(GetDC(Form1.Handle), HORZRES) of
640 : //对640*480分辨率进行处理的代码;
800 : //对800*600分辨率进行处理的代码;
END;
Application.Run;
通讯地址:郑州市郑花公路29号院河南金融管理学院
计算机教研室 潘汉杰
邮政编码:450008
电 话:0371-5734664
下载文档
网友最新关注
- 月亮的自我介绍
- 来自月球的回望
- 月球动物园参观记
- 我爱我家
- 月球之旅
- 精彩的月球知识竞赛
- 探索月球奥秘的作文
- 探索月球奥秘
- 月亮月亮我问你
- 月球之旅
- 月球奥秘知多少?
- 我爱我家
- 时间银行
- 探索月球奥秘
- 我在月球上的一天
- 建设工程施工合同备案若干问题的认识和探讨
- 老虎窗
- 钢管敷设施工方案
- 容积率
- 落地钢管外脚手架施工方法
- 丙烯酸施工方法
- 试论气候环境对建筑装饰施工的影响研究
- 建筑工程技术及建筑工程造价专业毕设指导书
- 有效控制质量、工期、成本三大目标
- 施工现场管理制度
- 某单位工程变更与签证管理办法
- 土方工程量计算
- 想成为搞建筑行家应该知道的数据
- 施工组织设计
- 施工组织总设计
- 《找春天》说课设计之一
- 《找春天》延伸学习:春天是这样来的
- 《笋芽儿》整体阅读感知
- 《找春天》延伸学习:春姑娘又来了
- 《找春天》 课外日记:跟着学生走
- 《找春天》延伸学习:春风
- 《笋芽儿》重点字词意思
- 《笋芽儿》作者资料和主要作品
- 《找春天》延伸学习:春-雨后
- 《笋芽儿》重点问题探究
- 《笋芽儿》重点字词梳理
- 《找春天》 课外日记:学生日记
- 《找春天》延伸学习:春天在哪里
- 《找春天》教学有感
- 《找春天》延伸学习:春天走来了
