- 相關(guān)推薦
在Delphi中巧用Windows 的API函數(shù)
在Delphi中巧用Windows 的API函數(shù)
潘漢杰
河南金融管理學(xué)院計算機(jī)教研室
應(yīng)用之一:Delphi中有控件MEMO,當(dāng)使用應(yīng)控件輸入內(nèi)容或編輯時,如何確定光標(biāo)當(dāng)前的位置呢?這時就可以調(diào)用Windows API函數(shù)中的EM_LINEFROMCHAR和EM_LINEINDEX消息來確定MEMO控件中光標(biāo)的當(dāng)前行和列,具體調(diào)用方法的過程如下:
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;
應(yīng)用之二:Delphi中的控件TlistBox沒有提供水平滾動條,如果想添加一個水平流動條,我們只需使用API函數(shù)給TListBox 發(fā)送一個LB_SetHorizontalExtent消息就行了。
源代碼如下:
SendMessage(ListBox1.Handle,LB_SetHorizontalExtent,2000,
longint(0));
應(yīng)用之三:當(dāng)我們需要獲取所運行程序的計算機(jī)的分辨率時,有二種方法:①可以通過訪問Delphi提供的SCREEN全局變量,即SCREEN.WIDTH和SCREEN.HEIGHT以像素點給出屏幕的分辨率。②利用WINDOWS的API函數(shù)GetDeviceCaps
【在Delphi中巧用Windows 的API函數(shù)】相關(guān)文章:
試析網(wǎng)絡(luò)維護(hù)中Ping命令的巧用03-22
基于Delphi的試卷智能生成系統(tǒng)設(shè)計Delphi+SQL11-23
在美術(shù)教學(xué)中如何巧用多媒體論文11-15
Windows CE中實現(xiàn)藍(lán)牙串口驅(qū)動程序03-18
Windows NT中的登記項及其完整性03-06
delphi題庫系統(tǒng)(一)03-07
文件自動分類系統(tǒng)Delphi03-08