桌面任务栏大小桌面任务栏大小
桌面区域大小:
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
或
HDC hdcScreen = GetDC( NULL );
int cx = GetDeviceCaps( hdcScreen, HORZRES );
int cy = GetDeviceCaps( hdcScreen, VERTRES );
DeleteObject( hdcScreen );
任务栏:
CWn...
桌面任务栏大小
桌面区域大小:
int cx = GetSystemMetrics(SM_CXSCREEN);
int cy = GetSystemMetrics(SM_CYSCREEN);
或
HDC hdcScreen = GetDC( NULL );
int cx = GetDeviceCaps( hdcScreen, HORZRES );
int cy = GetDeviceCaps( hdcScreen, VERTRES );
DeleteObject( hdcScreen );
任务栏:
CWnd* pTaskWnd = FindWindow( _T( "Shell_TrayWnd "), NULL );
if( pTaskWnd ) pTaskWnd-> ShowWindow( FALSE );
SystemParametersInfo,用SPI_GETWORKAREA
RECT rc;
SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID) &rc, 0);
有什么函数可以得到桌面区大小和得到任务栏的高度,
---------------------------------------------------------------
任务栏的高度,
uses shellapi;
procedure TForm1.Button1Click(Sender: TObject);
var
abd:TAppBarData;
begin
abd.cbSize:=sizeof(abd);
SHAppBarMessage(ABM_GETTASKBARPOS,abd);
Caption:=IntToStr(abd.rc.Bottom-abd.rc.Top);
end;
---------------------------------------------------------------
Screen.Height - Screen.WorkAreaHeight
---------------------------------------------------------------
得到桌面区的大小,你可以试着用这个API函数:
SystemParametersInfo;
具体使用如下:
var
ARect:TRect;
begin
SystemParametersInfo(SPI_GETWORKAREA,0,@ARect,0);
{其中 ARect 就包含了你所要的桌面区的大小}
end;
你试试看吧~
---------------------------------------------------------------
API函数是SystemParamInfo函数~
---------------------------------------------------------------
用Screen中的
和属性就可以操作了,包括多显示器问题,DELPHI中已经将
其封装好了,不用调用什么API。
它在Forms单元中定义,可以直接使用。
本文档为【桌面任务栏大小】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。