mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-06-05 19:38:19 +02:00
83 lines
2.7 KiB
ObjectPascal
83 lines
2.7 KiB
ObjectPascal
{
|
|
*****************************************************************************
|
|
* WinCEWSCheckLst.pp *
|
|
* ------------------ *
|
|
* *
|
|
* *
|
|
*****************************************************************************
|
|
|
|
*****************************************************************************
|
|
This file is part of the Lazarus Component Library (LCL)
|
|
|
|
See the file COPYING.modifiedLGPL.txt, included in this distribution,
|
|
for details about the license.
|
|
*****************************************************************************
|
|
}
|
|
unit WinCEWSCheckLst;
|
|
|
|
{$mode objfpc}{$H+}
|
|
|
|
interface
|
|
|
|
uses
|
|
////////////////////////////////////////////////////
|
|
// I M P O R T A N T
|
|
////////////////////////////////////////////////////
|
|
// To get as little as posible circles,
|
|
// uncomment only when needed for registration
|
|
////////////////////////////////////////////////////
|
|
Classes, CheckLst, StdCtrls,
|
|
////////////////////////////////////////////////////
|
|
WSCheckLst, WSLCLClasses, WinCEInt, WinCEProc, Windows;
|
|
|
|
type
|
|
|
|
{ TWinCEWSCheckListBox }
|
|
|
|
{ TWinCEWSCustomCheckListBox }
|
|
|
|
TWinCEWSCustomCheckListBox = class(TWSCustomCheckListBox)
|
|
published
|
|
class function GetStrings(const ACustomListBox: TCustomListBox): TStrings; override;
|
|
class function GetState(const ACheckListBox: TCustomCheckListBox;
|
|
const AIndex: integer): TCheckBoxState; override;
|
|
class procedure SetState(const ACheckListBox: TCustomCheckListBox;
|
|
const AIndex: integer; const AState: TCheckBoxState); override;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
class function TWinCEWSCustomCheckListBox.GetStrings(const ACustomListBox: TCustomListBox): TStrings;
|
|
var
|
|
Handle: HWND;
|
|
begin
|
|
Handle := ACustomListBox.Handle;
|
|
Result := TWinCECheckListBoxStrings.Create(Handle, ACustomListBox);
|
|
GetWindowInfo(Handle)^.List := Result;
|
|
end;
|
|
|
|
class function TWinCEWSCustomCheckListBox.GetState(
|
|
const ACheckListBox: TCustomCheckListBox; const AIndex: integer
|
|
): TCheckBoxState;
|
|
begin
|
|
Result := TWinCECheckListBoxStrings(ACheckListBox.Items).State[AIndex];
|
|
end;
|
|
|
|
class procedure TWinCEWSCustomCheckListBox.SetState(
|
|
const ACheckListBox: TCustomCheckListBox; const AIndex: integer;
|
|
const AState: TCheckBoxState);
|
|
var
|
|
SizeRect: Windows.RECT;
|
|
Handle: HWND;
|
|
begin
|
|
TWinCECheckListBoxStrings(ACheckListBox.Items).State[AIndex] := AState;
|
|
|
|
// redraw control
|
|
Handle := ACheckListBox.Handle;
|
|
Windows.SendMessage(Handle, LB_GETITEMRECT, AIndex, LPARAM(@SizeRect));
|
|
Windows.InvalidateRect(Handle, @SizeRect, false);
|
|
end;
|
|
|
|
end.
|