home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Plus! (NZ) 2001 June
/
HDC50.iso
/
Runimage
/
Delphi50
/
Source
/
Rtl
/
Win
/
FLATSB.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1999-08-11
|
5KB
|
131 lines
{*******************************************************}
{ }
{ Borland Delphi Runtime Library }
{ Win32 flat scrollbar interface unit }
{ }
{ Copyright (C) 1996,99 Inprise Corporation }
{ }
{*******************************************************}
unit FlatSB;
//{$WEAKPACKAGEUNIT}
interface
uses Windows;
function InitializeFlatSB(hWnd: HWND): Bool; stdcall;
{$EXTERNALSYM InitializeFlatSB}
procedure UninitializeFlatSB(hWnd: HWND); stdcall;
{$EXTERNALSYM UninitializeFlatSB}
function FlatSB_GetScrollProp(p1: HWND; propIndex: Integer;
p3: PInteger): Bool; stdcall;
{$EXTERNALSYM FlatSB_GetScrollProp}
function FlatSB_SetScrollProp(p1: HWND; index: Integer; newValue: Integer;
p4: Bool): Bool; stdcall;
{$EXTERNALSYM FlatSB_SetScrollProp}
var
FlatSB_EnableScrollBar: function(hWnd: HWND; wSBflags, wArrows: UINT): BOOL; stdcall;
{$EXTERNALSYM FlatSB_EnableScrollBar}
FlatSB_ShowScrollBar: function(hWnd: HWND; wBar: Integer; bShow: BOOL): BOOL; stdcall;
{$EXTERNALSYM FlatSB_ShowScrollBar}
FlatSB_GetScrollRange: function(hWnd: HWND; nBar: Integer; var lpMinPos,
lpMaxPos: Integer): BOOL; stdcall;
{$EXTERNALSYM FlatSB_GetScrollRange}
FlatSB_GetScrollInfo: function(hWnd: HWND; BarFlag: Integer;
var ScrollInfo: TScrollInfo): BOOL; stdcall;
{$EXTERNALSYM FlatSB_GetScrollInfo}
FlatSB_GetScrollPos: function(hWnd: HWND; nBar: Integer): Integer; stdcall;
{$EXTERNALSYM FlatSB_GetScrollPos}
FlatSB_SetScrollPos: function(hWnd: HWND; nBar, nPos: Integer;
bRedraw: BOOL): Integer; stdcall;
{$EXTERNALSYM FlatSB_SetScrollPos}
FlatSB_SetScrollInfo: function(hWnd: HWND; BarFlag: Integer;
const ScrollInfo: TScrollInfo; Redraw: BOOL): Integer; stdcall;
{$EXTERNALSYM FlatSB_SetScrollInfo}
FlatSB_SetScrollRange: function(hWnd: HWND; nBar, nMinPos, nMaxPos: Integer;
bRedraw: BOOL): BOOL; stdcall;
{$EXTERNALSYM FlatSB_SetScrollRange}
implementation
var
_FlatSB_GetScrollProp: function(p1: HWND; propIndex: Integer;
p3: PInteger): Bool; stdcall;
_FlatSB_SetScrollProp: function(p1: HWND; index: Integer; newValue: Integer;
p4: Bool): Bool; stdcall;
_InitializeFlatSB: function(hWnd: HWND): Bool; stdcall;
_UninitializeFlatSB: procedure(hWnd: HWND); stdcall;
function FlatSB_GetScrollProp(p1: HWND; propIndex: Integer;
p3: PInteger): Bool; stdcall;
begin
Result := Assigned(_FlatSB_GetScrollProp) and
_FlatSB_GetScrollProp(p1, propIndex, p3);
end;
function FlatSB_SetScrollProp(p1: HWND; index: Integer; newValue: Integer;
p4: Bool): Bool; stdcall;
begin
Result := Assigned(_FlatSB_SetScrollProp) and
_FlatSB_SetScrollProp(p1, index, newValue, p4);
end;
function InitializeFlatSB(hWnd: HWND): Bool; stdcall;
begin
Result := Assigned(_InitializeFlatSB) and _InitializeFlatSB(hWnd);
end;
procedure UninitializeFlatSB(hWnd: HWND); stdcall;
begin
if Assigned(_UninitializeFlatSB) then _UninitializeFlatSB(hWnd);
end;
procedure InitFlatSB;
const
cctrl = 'comctl32.dll';
var
ComCtl32DLL: THandle;
begin
ComCtl32DLL := GetModuleHandle(cctrl);
if ComCtl32DLL <> 0 then
begin
@_InitializeFlatSB := GetProcAddress(ComCtl32DLL, 'InitializeFlatSB');
@_UninitializeFlatSB := GetProcAddress(ComCtl32DLL, 'UninitializeFlatSB');
@_FlatSB_GetScrollProp := GetProcAddress(ComCtl32DLL, 'FlatSB_GetScrollProp');
@_FlatSB_SetScrollProp := GetProcAddress(ComCtl32DLL, 'FlatSB_SetScrollProp');
@FlatSB_EnableScrollBar := GetProcAddress(ComCtl32DLL, 'FlatSB_EnableScrollBar');
if not Assigned(FlatSB_EnableScrollBar) then
@FlatSB_EnableScrollBar := @EnableScrollBar;
@FlatSB_ShowScrollBar := GetProcAddress(ComCtl32DLL, 'FlatSB_ShowScrollBar');
if not Assigned(FlatSB_ShowScrollBar) then
@FlatSB_ShowScrollBar := @ShowScrollBar;
@FlatSB_GetScrollRange := GetProcAddress(ComCtl32DLL, 'FlatSB_GetScrollRange');
if not Assigned(FlatSB_GetScrollRange) then
@FlatSB_GetScrollRange := @GetScrollRange;
@FlatSB_GetScrollInfo := GetProcAddress(ComCtl32DLL, 'FlatSB_GetScrollInfo');
if not Assigned(FlatSB_GetScrollInfo) then
@FlatSB_GetScrollInfo := @GetScrollInfo;
@FlatSB_GetScrollPos := GetProcAddress(ComCtl32DLL, 'FlatSB_GetScrollPos');
if not Assigned(FlatSB_GetScrollPos) then
@FlatSB_GetScrollPos := @GetScrollPos;
@FlatSB_SetScrollPos := GetProcAddress(ComCtl32DLL, 'FlatSB_SetScrollPos');
if not Assigned(FlatSB_SetScrollPos) then
@FlatSB_SetScrollPos := @SetScrollPos;
@FlatSB_SetScrollInfo := GetProcAddress(ComCtl32DLL, 'FlatSB_SetScrollInfo');
if not Assigned(FlatSB_SetScrollInfo) then
@FlatSB_SetScrollInfo := @SetScrollInfo;
@FlatSB_SetScrollRange := GetProcAddress(ComCtl32DLL, 'FlatSB_SetScrollRange');
if not Assigned(FlatSB_SetScrollRange) then
@FlatSB_SetScrollRange := @SetScrollRange;
end;
end;
initialization
InitFlatSB;
end.