MG: added missing files

git-svn-id: trunk@581 -
This commit is contained in:
lazarus 2002-01-06 23:09:53 +00:00
parent 2ebf0146fd
commit 6e03cb4274
5 changed files with 2237 additions and 0 deletions

4
.gitattributes vendored
View File

@ -467,8 +467,12 @@ lcl/interfaces/win32/interfaces.pp svneol=native#text/pascal
lcl/interfaces/win32/win32callback.inc svneol=native#text/pascal
lcl/interfaces/win32/win32def.pp svneol=native#text/pascal
lcl/interfaces/win32/win32int.pp svneol=native#text/pascal
lcl/interfaces/win32/win32listsl.inc svneol=native#text/pascal
lcl/interfaces/win32/win32listslh.inc svneol=native#text/pascal
lcl/interfaces/win32/win32object.inc svneol=native#text/pascal
lcl/interfaces/win32/win32proc.inc svneol=native#text/pascal
lcl/interfaces/win32/win32winapi.inc svneol=native#text/pascal
lcl/interfaces/win32/win32winapih.inc svneol=native#text/pascal
lcl/interfaces/win32/winext.pas svneol=native#text/pascal
lcl/lazqueue.pp svneol=native#text/pascal
lcl/lcllinux.pp svneol=native#text/pascal

View File

@ -0,0 +1,336 @@
(******************************************************************************
win32listsl.inc
TWin32ListStringList and TWin32CListStringList
******************************************************************************)
{$IFOPT H+}
{$DEFINE H_PLUS}
{$ELSE}
{$H+}
{$UNDEF H_PLUS}
{$ENDIF}
{*************************************************************}
{ Default compare function }
{*************************************************************}
Function DefaultCompareFunc(A, B: HWND): Integer; CDecl;
Var
AStr, BStr: PChar;
Begin
GetWindowText(A, AStr, GetWindowTextLength(A) + 1);
GetWindowText(B, BStr, GetWindowTextLength(B) + 1);
Result := StrComp(AStr, BStr);
end;
{*************************************************************}
{ TWin32ListStringList methods }
{*************************************************************}
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Create
Params:
Returns:
------------------------------------------------------------------------------}
Constructor TWin32ListStringList.Create(List: HWND);
Begin
Inherited Create;
If List = HWND(Nil) Then
//Raise Exception.Create('Unspecified list window');
Assert(False, 'Trace:Unspecified list window');
FWin32List := List;
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.SetSorted
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.SetSorted(Val: Boolean);
Begin
If Val <> FSorted Then
Begin
FSorted:= Val;
Sort;
End;
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Sort
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.Sort;
Begin
SetWindowLong(FWin32List, GWL_STYLE, GetWindowLong(FWin32List, GWL_STYLE) Or CBS_SORT);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Assign
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.Assign(Source: TPersistent);
Var
Counter: Integer;
Begin
{ Do not call inherited Assign as it does things we do not want to happen }
If Source Is TStrings Then
Begin
Clear;
For Counter := TStrings(Source).Count - 1 DownTo 0 Do
Insert(0, TStrings(Source)[Counter]);
End
Else
inherited Assign(Source);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Get
Params:
Returns:
------------------------------------------------------------------------------}
Function TWin32ListStringList.Get(Index: Integer): String;
Var
Item: PChar;
ALabel: HWND;
ListItem: HWND;
Begin
If (Index < 0) Or (Index >= Count) Then
Raise Exception.Create('Out of bounds.')
Else
Begin
SendMessage(FWin32List, CB_GETLBTEXT, Index, LPARAM(Item));
End;
Result := StrPas(Item);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.GetCount
Params:
Returns:
------------------------------------------------------------------------------}
Function TWin32ListStringList.GetCount: Integer;
Begin
Result := SendMessage(FWin32List, CB_GETCOUNT, 0, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Clear
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.Clear;
Begin
SendMessage(FWin32List, CB_RESETCONTENT, 0, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Delete
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.Delete(Index: Integer);
Begin
SendMessage(FWin32List, CB_DELETESTRING, Index, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32ListStringList.Insert
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32ListStringList.Insert(Index: Integer; Const S: String);
Var
Li: HWND;
begin
SendMessage(FWin32List, CB_INSERTSTRING, Index, LPARAM(PChar(S)));
if FSorted then Sort;
end;
{*************************************************************}
{ TWin32CListStringList methods }
{*************************************************************}
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Create
Params:
Returns:
------------------------------------------------------------------------------}
Constructor TWin32CListStringList.Create(List: HWND);
Begin
Inherited Create;
If List = HWND(Nil) Then
Raise Exception.Create('Unspecified list widget');
FWin32CList := List;
end;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.SetSorted
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.SetSorted(Val: Boolean);
Begin
If Val <> FSorted Then
Begin
FSorted := Val;
If Val Then
Sort
Else
SetWindowLong(FWin32CList, GWL_STYLE, GetWindowLong(FWin32CList, GWL_STYLE) And Not CBS_SORT);
End;
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Sort
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.Sort;
Begin
SetWindowLong(FWin32CList, GWL_STYLE, GetWindowLong(FWin32CList, GWL_STYLE) Or CBS_SORT);
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Assign
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.Assign(Source: TPersistent);
Var
Counter: Integer;
Begin
{ Do not call inherited Assign as it does things we do not want to happen }
If Source Is TStrings Then
Begin
Clear;
For Counter := TStrings(Source).Count - 1 DownTo 0 Do
InsertObject(0, TStrings(Source)[Counter], TStrings(Source).Objects[Counter]);
End
Else
Inherited Assign(Source);
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Clear
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.Clear;
Begin
SendMessage(FWin32CList, CB_RESETCONTENT, 0, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Delete
Params:
Returns:
------------------------------------------------------------------------------}
procedure TWin32CListStringList.Delete(Index: Integer);
begin
SendMessage(FWin32CList, CB_DELETESTRING, Index, 0);
end;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Get
Params:
Returns:
------------------------------------------------------------------------------}
Function TWin32CListStringList.Get(Index: Integer): String;
Var
Item: PChar;
Begin
If (Index < 0) Or (Index >= Count) Then
Raise Exception.Create('Out of bounds.')
Else
Begin
SendMessage(FWin32CList, CB_GETLBTEXT, Index, LPARAM(Item));
Result := StrPas(Item);
End;
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.GetCount
Params:
Returns:
------------------------------------------------------------------------------}
Function TWin32CListStringList.GetCount: Integer;
Begin
Result := SendMessage(FWin32CList, CB_GETCOUNT, 0, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.GetObject
Params:
Returns:
------------------------------------------------------------------------------}
Function TWin32CListStringList.GetObject(Index: Integer): TObject;
Begin
HWND(Result) := SendMessage(FWin32CList, CB_GETITEMDATA, Index, 0);
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.Insert
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.Insert(Index: Integer; Const S: String);
Type
TCSArr = Record
Arr: Array[0..15] Of PChar;
Str: Array[0..0] Of Char;
End;
Var
CS: ^TCSArr;
CSize: Integer;
K: Integer;
Begin
SendMessage(FWin32CList, CB_INSERTSTRING, Index, LPARAM(PChar(S)));
End;
{------------------------------------------------------------------------------
Method: TWin32CListStringList.PutObject
Params:
Returns:
------------------------------------------------------------------------------}
Procedure TWin32CListStringList.PutObject(Index: Integer; AObject: TObject);
Begin
SendMessage(FWin32CList, CB_SETITEMDATA, Index, LPARAM(AObject));
End;
{$IFDEF H_PLUS}
{$UNDEF H_PLUS}
{$ELSE}
{$H-}
{$ENDIF}
{ =============================================================================
$Log$
Revision 1.1 2002/01/06 23:09:52 lazarus
MG: added missing files
}

View File

@ -0,0 +1,65 @@
(******************************************************************************
win32listslh.inc
TWin32ListStringList and TWin32CListStringList
******************************************************************************)
{$IFOPT H+}
{$DEFINE H_PLUS}
{$ELSE}
{$H+}
{$ENDIF}
Type
TWin32ListStringList = Class(TStrings)
Private
FWin32List: HWND;
FSorted: Boolean;
Protected
Function Get(Index: Integer): String; Override;
Function GetCount: Integer; Override;
Procedure SetSorted(Val: Boolean); Virtual;
Public
Constructor Create(List: HWND);
Procedure Assign(Source: TPersistent); Override;
Procedure Clear; Override;
Procedure Delete(Index: Integer); Override;
Procedure Insert(Index: Integer; Const S: String); Override;
Procedure Sort; Virtual;
Property Sorted: Boolean Read FSorted Write SetSorted;
End;
TWin32CListStringList = Class(TStrings)
Private
FWin32CList: HWND;
FSorted: Boolean;
Protected
Function Get(Index: Integer): String; Override;
Function GetCount: Integer; Override;
Function GetObject(Index: Integer): TObject; Override;
Procedure PutObject(Index: Integer; AObject: TObject); Override;
Procedure SetSorted(Val: Boolean); Virtual;
Public
Constructor Create(List: HWND);
Procedure Assign(Source: TPersistent); Override;
Procedure Clear; Override;
Procedure Delete(Index: Integer); Override;
Procedure Insert(Index: Integer; Const S: String); Override;
Procedure Sort; Virtual;
Property Sorted: Boolean Read FSorted Write SetSorted;
End;
{$IFDEF H_PLUS}
{$UNDEF H_PLUS}
{$ELSE}
{$H-}
{$ENDIF}
{ =============================================================================
$Log$
Revision 1.1 2002/01/06 23:09:53 lazarus
MG: added missing files
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,138 @@
(******************************************************************************
All Windows API related stuff goes here.
!! Keep this alphabetical !!
******************************************************************************)
//##apiwiz##sps## // Do not remove
Function Arc(DC: HDC; X, Y, Width, Height, Angle1, Angle2: Integer): Boolean; Override;
Function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Rop: DWORD): Boolean; Override;
Function BringWindowToTop(HWnd: HWND): Boolean; Override;
Function CallNextHookEx(HHk: HHOOK; NCode: Integer; WParam, LParam: LongInt): Integer; Override;
Function CallWindowProc(LPPrevWndFunc: TFarProc; Handle: HWND; Msg: UINT; WParam, LParam: LongInt): Integer; Override;
Function ClientToScreen(Handle: HWND; Var P: TPoint): Boolean; Override;
// clipboard
Function ClipboardFormatToMimeType(FormatID: TClipboardFormat): String; Override;
{ Gets data from the clipboard }
Function ClipboardGetData(ClipboardType: TClipboardType; FormatID: TClipboardFormat; Stream: TStream): Boolean; Override;
// ! List will be created. You must free it yourself with FreeMem(List) !
Function ClipboardGetFormats(ClipboardType: TClipboardType; Var Count: Integer; Var List: PClipboardFormat): Boolean; Override;
{ Sets the supported formats and requests ownership for the clipboard }
Function ClipboardGetOwnerShip(ClipboardType: TClipboardType; OnRequestProc: TClipboardRequestEvent; FormatCount: Integer; Formats: PClipboardFormat): Boolean; Override;
{ Registers a clip board format }
Function ClipboardRegisterFormat(Const AMimeType: String): TClipboardFormat; Override;
Function CreateBitmap(Width, Height: Integer; Planes, BitCount: LongInt; BitmapBits: Pointer): HBITMAP; Override;
Function CreateBrushIndirect(Const LogBrush: TLogBrush): HBRUSH; Override;
Function CreateCaret(Handle: HWND; Bitmap: HBITMAP; Width, Height: Integer): Boolean; Override;
Function CreateCompatibleBitmap(DC: HDC; Width, Height: Integer): HBITMAP; Override;
Function CreateCompatibleDC(DC: HDC): HDC; Override;
Function CreateFontIndirect(Const LogFont: TLogFont): HFONT; Override;
Function CreatePenIndirect(Const LogPen: TLogPen): HPEN; Override;
{ Creates a bitmap from raw pixmap data }
Function CreatePixmapIndirect(Const Data: Pointer; Const TransColor: LongInt): HBITMAP; Override;
Function CreateRectRgn(X1, Y1, X2, Y2: Integer): HRGN;
Function DeleteDC(HDC: HDC): Boolean; Override;
Function DeleteObject(GDIObject: HGDIOBJ): Boolean; Override;
Function DestroyCaret(Handle: HWND): Boolean;
Function DrawFrameControl(DC: HDC; Var Rect: TRect; UType, UState: Cardinal): Boolean; Override;
Function DrawEdge(DC: HDC; Var Rect: TRect; Edge: Cardinal; GrfFlags: Cardinal): Boolean; Override;
Function Ellipse(DC: HDC; X1, Y1, X2, Y2: Integer): Boolean; Override;
Function EmptyClipBoard: Boolean;
Function EnableMenuItem(HMenu: HMENU; UIDEnableItem: Integer; BEnable: Boolean): Boolean; Override;
Function EnableScrollBar(Wnd: HWND; WSBFlags, WArrows: Cardinal): Boolean; Override;
Function EnableWindow(HWnd: HWND; BEnable: Boolean): Boolean; Override;
Function ExtTextOut(DC: HDC; X, Y: Integer; Options: LongInt; Rect: PRect; Str: PChar; Count: LongInt; Dx: PInteger): Boolean; Override;
Function FillRect(DC: HDC; Const Rect: TRect; Brush: HBRUSH): Boolean; Override;
Function GetActiveWindow: HWND; Override;
Function GetCapture: HWND; Override;
Function GetCaretPos(Var LPPoint: TPoint): Boolean; Override;
Function GetCharABCWidths(DC: HDC; P2, P3: UINT; Const ABCStructs): Boolean; Override;
Function GetClientRect(Handle: HWND; Var Rect: TRect): Boolean; Override;
Function GetDC(HWnd: HWND): HDC; Override;
Function GetFocus: HWND; Override;
Function GetKeyState(NVirtKey: Integer): SmallInt; Override;
Function GetObject(GDIObj: HGDIOBJ; BufSize: Integer; Buf: Pointer): Integer; Override;
Function GetParent(Handle: HWND): HWND; Override;
Function GetProp(Handle: HWND; Str: PChar): Pointer; Override;
Function GetScrollInfo(Handle: HWND; BarFlag: Integer; Var ScrollInfo: TScrollInfo): Boolean; Override;
Function GetStockObject(Value: Integer): LongInt; Override;
Function GetSysColor(NIndex: Integer): DWORD; Override;
Function GetSystemMetrics(NIndex: Integer): Integer; Override;
Function GetTextExtentPoint(DC: HDC; Str: PChar; Count: Integer; Var Size: TSize): Boolean; Override;
Function GetTextMetrics(DC: HDC; Var TM: TTextMetric): Boolean; Override;
Function GetWindowLong(Handle: HWND; Int: Integer): LongInt; Override;
Function GetWindowOrgEx(DC: HDC; Var P: TPoint): Integer; Override;
Function GetWindowRect(Handle: HWND; Var Rect: TRect): Integer; Override;
Function HideCaret(HWnd: HWND): Boolean; Override;
Function InvalidateRect(AHandle: HWND; Rect: PRect; BErase: Boolean): Boolean; Override;
Function KillTimer (HWnd: HWND; UIDEvent: Cardinal): Boolean; Override;
Function LineTo(DC: HDC; X, Y: Integer): Boolean; Override;
Function MaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Mask: HBITMAP; XMask, YMask: Integer; Rop: DWORD): Boolean; Override;
Function MessageBox(HWnd: HWND; LPText, LPCaption: PChar; UType: Cardinal): Integer; Override;
Function MoveToEx(DC: HDC; X, Y: Integer; OldPoint: PPoint): Boolean; Override;
Function PeekMessage(Var LPMsg: TMsg; Handle: HWND; WMsgFilterMin, WMsgFilterMax, WRemoveMsg: UINT): Boolean; Override;
Function Pie(DC: HDC; X, Y, Width, Height, Angle1, Angle2: Integer): Boolean; Override;
Function Polygon(DC: HDC; Points: PPoint; NumPts: Integer; Winding: Boolean): Boolean;
Function Polyline(DC: HDC; Points: PPoint; NumPts: Integer): Boolean;
Function PostMessage(HWnd: HWND; Msg: Cardinal; WParam: LongInt; LParam: LongInt): Boolean; Override;
Function RealizePalette(DC: HDC): Cardinal; Override;
Function Rectangle(DC: HDC; X1, Y1, X2, Y2: Integer): Boolean; Override;
Function ReleaseCapture: Boolean; Override;
Function ReleaseDC(HWnd: HWND; DC: HDC): Integer; Override;
Function RestoreDC(DC: HDC; SavedDC: Integer): Boolean; Override;
Function SaveDC(DC: HDC): Integer; Override;
Function ScreenToClient(Handle: HWND; Var P: TPoint): Integer; Override;
Function ScrollWindowEx(HWnd: HWND; DX, DY: Integer; PRcScroll, PRcClip: PRect; HRgnUpdate: HRGN; PRcUpdate: PRect; Flags: UINT): Boolean; Override;
Function SelectObject(DC: HDC; GDIObj: HGDIOBJ): HGDIOBJ; Override;
Function SelectPalette(DC: HDC; Palette: HPALETTE; ForceBackground: Boolean): HPALETTE; Override;
Function SendMessage(HandleWnd: HWND; Msg: Cardinal; WParam: LongInt; LParam: LongInt): Integer; Override;
Function SetBkColor(DC: HDC; Color: TColorRef): TColorRef; Override;
Function SetBkMode(DC: HDC; BkMode: Integer): Integer; Override;
Function SetCapture(Value: LongInt): LongInt; Override;
Function SetCaretPos(X, Y: Integer): Boolean; Override;
Function SetCaretPosEx(Handle: HWnd; X, Y: Integer): Boolean; Override;
Function SetCaretRespondToFocus(Handle: HWND; ShowHideOnFocus: Boolean): Boolean; Override;
Function SetFocus(HWnd: HWND): HWND; Override;
Function SetProp(Handle: hwnd; Str: PChar; Data: Pointer): Boolean; Override;
Function SetScrollInfo(Handle: HWND; SBStyle: Integer; ScrollInfo: TScrollInfo; BRedraw: Boolean): Integer; Override;
Function SetSysColors(CElements: Integer; Const LPAElements; Const LPARgbValues): Boolean; Override;
Function SetTextCharacterExtra(_HDC: HDC; NCharExtra: Integer): Integer; Override;
Function SetTextColor(DC: HDC; Color: TColorRef): TColorRef; Override;
Function SetTimer(HWnd: HWND; NIDEvent, uElapse: Integer; LPTimerFunc: TFNTimerProc): Integer; Override;
Function SetWindowLong(Handle: HWND; Idx: Integer; NewLong: LongInt): LongInt;
Function SetWindowOrgEx(DC: HDC; NewX, NewY: Integer; Var Point: TPoint): Boolean; Override;
Function SetWindowPos(HWnd: HWND; HWndInsertAfter: HWND; X, Y, CX, CY: Integer; UFlags: UINT): Boolean; Override;
Function ShowCaret(HWnd: HWND): Boolean; Override;
Function ShowScrollBar(Handle: HWND; WBar: Integer; BShow: Boolean): Boolean; Override;
Function StretchBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, SrcHeight: Integer; Rop: Cardinal): Boolean; Override;
{ Copies a bitmap from a source rectangle into a destination rectangle using the specified mask and raster operations }
Function StretchMaskBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, SrcHeight: Integer; Mask: HBITMAP; XMask, YMask: Integer; Rop: DWORD): Boolean; Override;
Function TextOut(DC: HDC; X, Y: Integer; Str: PChar; Count: Integer): Boolean; Override;
Function WindowFromPoint(Point: TPoint): HWND; Override;
//##apiwiz##eps## // Do not remove
{ =============================================================================
$Log$
Revision 1.1 2002/01/06 23:09:53 lazarus
MG: added missing files
}