其他语言

位置:IT落伍者 >> 其他语言 >> 浏览文章

Delphi趣味编程实例三则


发布日期:2023年12月17日
 
Delphi趣味编程实例三则

隐藏任务栏屏蔽热键

在自己的程序中将任务栏隐藏起来并屏蔽Ctrl+Alt+Del和Alt+Tab等系统热键也是很有趣的要实现它们比较容易但千万别忘了恢复正常另外本例中使用了个API函数FindWindowShowWindow和SystemParametersInfo在使用它们之前一定要进行申明

Implementation

var Hwnd:THandle;

Tmp:integer;

procedure TFormButtonClick(Sender: TObject);

begin

Hwnd:=FindWindow(Shell_TrayWndnil);

if Hwnd<> then ShowWindow(HwndSW_HIDE); //隐藏任务栏

SystemParametersInfo(SPI_SCREEN

SAVERRUNNING@Tmp); //屏蔽系统热键

end;

procedure TFormButtonClick(Sender: TObject);

begin

Hwnd:=FindWindow(Shell_TrayWndnil);

ShowWindow(HwndSW_SHOW); //恢复任务栏

SystemParametersInfo(SPI_SCR

EENSAVERRUNNING@Tmp);

//恢复系统热键

end;

动态调整显示器分辨率

Delphi提供了可以动态改变屏幕分辨率的函数分别是EnumDisplaySettings()和ChangeDisplaySettings()有了它们编程时可以随时改变分辨率以适应要求下面的CRTReset函数能方便实现这一功能

implementation

function CRTReset(X Y: Word): Boolean;

var

lpDevMode: TDeviceMode;

begin

Result:= EnumDisplaySettings(nil lpDevMode); //获取显示模式

if Result then begin

lpDevModedmFields := DM_PELSWID

TH Or DM_PELSHEIGHT;

lpDevModedmPelsWidth := X;

lpDevModedmPelsHeight := Y; //设置屏幕的宽度和高度

Result:= ChangeDisplaySettings(lpDevMode ) = DISP_CHANGE_SUCCESSFUL;

//改变屏幕分辨率并返回成功与否

end;

end;

procedure TFormButtonClick(Sender: TObject);

begin

if CRTReset( ) then ShowMessage(Now is *); //调用函数设置分辨率为×

end;

鼠标滚轮如何编程

我们使用的鼠标很多都带有一个滚轮方便用户的操作但遗憾的是平时编程多数只利用到鼠标的左右两键如果将滚轮操作功能也加进你的程序定能使其增色不少

当鼠标指针指向窗体中时Delphi为滚轮滚动提供OnMouseWheel事件我们可以对它进行相应的处理本例中在窗体内放置一标签Label用于显示滚轮滚动的效果

implementation

var i:integer;

procedure TFormFormCreate(Sender: TObject);

begin

i:=;

LabelCaption:=inttostr(i);

end;

procedure TFormFormMouseWheel(Sender: TObject; Shift: TShiftState;

WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);

begin

if WheelDelta> then i:=i+ else i:=i;

//wheelDelta参数表示滚动一格的值向上滚动为正数向下滚动则为负数

LabelCaption:=inttostr(i);

end;

上一篇:用Delphi实现Windows文件夹管理树

下一篇:Delphi程序使用资源的释放