TCnInputHelper Windows 10 阴影问题
TCnInputHelper 弹出的几个窗口在 Windows 10 环境中会出现双阴影,看捉挺别扭的,建议判断一下 Windows 10 吧。
下面这段代码中的 CheckWinXP
procedure TCnInputListBox.CreateParams(var Params: TCreateParams);
if CheckWinXP then
Params.WindowClass.style := CS_DBLCLKS or CS_DROPSHADOW
else
Params.WindowClass.style := CS_DBLCLKS;
// 这有段代码,看能不能用,或是有更好的方法。
function IsWindows10: Boolean;
var
VerInfoSize, VerValueSize, Dummy: Dword;
VerInfo: Pointer;
VerValue: PVSFixedFileInfo;
V1: Word;
begin
VerInfoSize := GetFileVersionInfoSize(kernel32, Dummy);
GetMem(VerInfo, VerInfoSize);
try
GetFileVersionInfo(kernel32, 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
V1 := dwFileVersionMS shr 16;
end;
Result := V1 >= 10;
finally
FreeMem(VerInfo, VerInfoSize);
end;
end;
|