mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-05 17:58:19 +02:00
90 lines
2.3 KiB
ObjectPascal
90 lines
2.3 KiB
ObjectPascal
unit win32compat;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, SysUtils, Windows;
|
|
|
|
{$ifdef Win32}
|
|
|
|
{ From System.pas }
|
|
|
|
function SysAllocStringLen(psz:pointer;len:dword):pointer;stdcall;
|
|
external 'oleaut32.dll' name 'SysAllocStringLen';
|
|
|
|
procedure SysFreeString(bstr:pointer);stdcall;
|
|
external 'oleaut32.dll' name 'SysFreeString';
|
|
|
|
function SysReAllocStringLen(var bstr:pointer;psz: pointer;
|
|
len:dword): Integer; stdcall;external 'oleaut32.dll' name 'SysReAllocStringLen';
|
|
|
|
{ From Win32Int.pas }
|
|
type
|
|
PInitCommonControlsEx = ^TInitCommonControlsEx;
|
|
TInitCommonControlsEx = record
|
|
dwSize: dword;
|
|
dwICC: dword;
|
|
end;
|
|
|
|
var
|
|
InitCommonControlsEx: function(ICC: PInitCommonControlsEx): LongBool; stdcall;
|
|
|
|
{ From Win32Extras.pas }
|
|
|
|
const
|
|
// Comctl32 version:
|
|
// 4.70
|
|
LVS_EX_GRIDLINES = $00000001;
|
|
LVS_EX_SUBITEMIMAGES = $00000002;
|
|
LVS_EX_CHECKBOXES = $00000004;
|
|
LVS_EX_TRACKSELECT = $00000008;
|
|
LVS_EX_HEADERDRAGDROP = $00000010;
|
|
LVS_EX_FULLROWSELECT = $00000020;
|
|
LVS_EX_ONECLICKACTIVATE = $00000040;
|
|
LVS_EX_TWOCLICKACTIVATE = $00000080;
|
|
// 4.71
|
|
LVS_EX_FLATSB = $00000100;
|
|
LVS_EX_REGIONAL = $00000200;
|
|
LVS_EX_INFOTIP = $00000400;
|
|
LVS_EX_UNDERLINEHOT = $00000800;
|
|
LVS_EX_UNDERLINECOLD = $00001000;
|
|
LVS_EX_MULTIWORKAREAS = $00002000;
|
|
// 5.80
|
|
LVS_EX_LABELTIP = $00004000;
|
|
// 4.71
|
|
LVS_EX_BORDERSELECT = $00008000;
|
|
// 6
|
|
LVS_EX_DOUBLEBUFFER = $00010000; // TODO: investigate
|
|
// this may be a valid (ex) style message for other controls as well
|
|
// atleast the same value is used for controls on the .net framework
|
|
// coincidence ??
|
|
LVS_EX_HIDELABELS = $00020000;
|
|
LVS_EX_SINGLEROW = $00040000;
|
|
LVS_EX_SNAPTOGRID = $00080000;
|
|
LVS_EX_SIMPLESELECT = $00100000;
|
|
|
|
{ Tab Control Styles}
|
|
TCS_RIGHT = $0002;
|
|
TCS_BOTTOM = $0002;
|
|
TCS_VERTICAL = $0080;
|
|
TCS_MULTILINE = $0200;
|
|
|
|
{ From Windows.pas (adapted for win32) }
|
|
const
|
|
SYS_COLOR_INDEX_FLAG = 0;
|
|
|
|
{$endif}
|
|
|
|
implementation
|
|
|
|
initialization
|
|
|
|
{$ifdef Win32}
|
|
Pointer(InitCommonControlsEx) := GetProcAddress(GetModuleHandle(comctl32), 'InitCommonControlsEx');
|
|
{$endif}
|
|
|
|
end.
|
|
|