Delphi中三种方法获取Windows任务栏的高度
第一种:需要引用Windows单元
ShowMessage(IntToStr(GetSystemMetrics(SM_CYSCREEN)-GetSystemMetrics(SM_CYFULLSCREEN)-GetSystemMetrics(SM_CYCAPTION)));
第二种:需要引用Windows单元
function GetSystemTaskBarHeight:Integer;
var
R:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@R,0);
Result:=Screen.Height-R.Bottom;
end;
第三种:要引用ShellAPI单元
function GetTaskBarRect: Integer;
var
TBData: TAPPBARDATA;
begin
TBData.cbSize := SizeOf(TAPPBARDATA);
SHAppBarMessage(ABM_GETTASKBARPOS, TBData);
Result :=Screen.Height-TBData.rc.Top;
end;
相关文档:
exit: 退出函数体
abort: 遇到异常,安静处理,就是不显示不提示
break: 退出当前循环体,包括for ,while, repeat等循环体
continue: 结束循环内的本次处理,继续从循环体的开始位置继续执行
Exit 是跳出当前代码块,也就是当前函数,跳出后是要继续向下执行的(如果有后续代码)。
Abort 是从 EAbort 过来的,可以激发 ex ......
procedure TForm2.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Screen.Cursor := -2;
end;
const
crDefault = TCursor(0);
crNone = TCursor(-1);
crArrow = TCursor(-2);
&n ......
procedure TForm1.Button2Click(Sender: TObject);
var
name:String ;
begin
name := edit2.Text ;
name := '%' + name ;
query1.Close ;
query1.SQL.Clear ;
query1.SQL.Add('select * from gjh_t where name like '''+name+'''') ;
&nb ......
Delphi U盘插入拨出检测:
1、新建工程;
2、在form1上放一个Label;
3、定义一个私有过程
procedure WMDeviceChange(var Msg: TMessage); message WM_DEVICECHANGE;
完整代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics ......
相对用第三方控件,CDO发送邮件还是很简洁方便的
注:CDONTS为CDO的子集,仅支持WinNT/Win2K,WinXP以上请用CDO;
单元引用ComObj;
procedure TForm1.Button1Click(Sender: TObject);
var
VCDOMessage:oleVariant;
begin
vCDOMessage:=CreateOleObject('CDO.Message');
vcdomessage.from:='MR.F'+'< ......