update windows version to be compilable

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@843 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2009-06-14 09:18:53 +00:00
parent 9ff777957e
commit a5c4b4e9bf
5 changed files with 142 additions and 136 deletions

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, Graphics, StdCtrls,
RichMemoTypes, WSRichMemo;
WSRichMemo;
type

View File

@ -19,50 +19,45 @@
"/>
<License Value="LGPL"/>
<Version Minor="8"/>
<Files Count="9">
<Files Count="8">
<Item1>
<Filename Value="richmemo.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="RichMemo"/>
</Item1>
<Item2>
<Filename Value="wsrichmemo.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="WSRichMemo"/>
</Item2>
<Item3>
</Item1>
<Item2>
<Filename Value="win32\win32richmemo.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="Win32RichMemo"/>
</Item3>
<Item4>
</Item2>
<Item3>
<Filename Value="win32\win32richmemoproc.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="Win32RichMemoProc"/>
</Item4>
<Item5>
</Item3>
<Item4>
<Filename Value="richmemofactory.pas"/>
<UnitName Value="RichMemoFactory"/>
</Item5>
<Item6>
<Filename Value="richmemotypes.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="RichMemoTypes"/>
</Item6>
<Item7>
</Item4>
<Item5>
<Filename Value="richmemoregister.pas"/>
<HasRegisterProc Value="True"/>
<UnitName Value="richmemoregister"/>
</Item7>
<Item8>
</Item5>
<Item6>
<Filename Value="richmemopackage.lrs"/>
<Type Value="LRS"/>
</Item8>
<Item9>
</Item6>
<Item7>
<Filename Value="carbon\carbonrichmemo.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="carbonrichmemo"/>
</Item9>
</Item7>
<Item8>
<Filename Value="richmemo.pas"/>
<AddToUsesPkgSection Value="False"/>
<UnitName Value="RichMemo"/>
</Item8>
</Files>
<Type Value="RunAndDesignTime"/>
<RequiredPkgs Count="2">

View File

@ -6,7 +6,7 @@
<MainUnit Value="0"/>
<TargetFileExt Value=""/>
<UseXPManifest Value="True"/>
<ActiveEditorIndexAtStart Value="0"/>
<ActiveEditorIndexAtStart Value="1"/>
</General>
<VersionInfo>
<ProjectVersion Value=""/>
@ -32,16 +32,14 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="38">
<Units Count="40">
<Unit0>
<Filename Value="project1.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="project1"/>
<CursorPos X="32" Y="12"/>
<TopLine Value="1"/>
<EditorIndex Value="1"/>
<UsageCount Value="49"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
<Filename Value="unit1.pas"/>
@ -49,7 +47,7 @@
<IsPartOfProject Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Unit1"/>
<CursorPos X="15" Y="10"/>
<CursorPos X="10" Y="10"/>
<TopLine Value="1"/>
<EditorIndex Value="0"/>
<UsageCount Value="49"/>
@ -238,18 +236,18 @@
<Unit27>
<Filename Value="../../richmemo.pas"/>
<UnitName Value="RichMemo"/>
<CursorPos X="14" Y="29"/>
<TopLine Value="19"/>
<EditorIndex Value="5"/>
<CursorPos X="3" Y="9"/>
<TopLine Value="1"/>
<EditorIndex Value="4"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit27>
<Unit28>
<Filename Value="../../wsrichmemo.pas"/>
<UnitName Value="WSRichMemo"/>
<CursorPos X="66" Y="42"/>
<TopLine Value="41"/>
<EditorIndex Value="6"/>
<CursorPos X="139" Y="28"/>
<TopLine Value="11"/>
<EditorIndex Value="3"/>
<UsageCount Value="20"/>
<Loaded Value="True"/>
</Unit28>
@ -258,21 +256,17 @@
<UnitName Value="CarbonRichMemo"/>
<CursorPos X="24" Y="222"/>
<TopLine Value="222"/>
<EditorIndex Value="2"/>
<UsageCount Value="19"/>
<Bookmarks Count="1">
<Item0 X="16" Y="230" ID="2"/>
</Bookmarks>
<Loaded Value="True"/>
</Unit29>
<Unit30>
<Filename Value="../../../fpc/packages/univint/src/MacOSAll.pas"/>
<UnitName Value="MacOSAll"/>
<CursorPos X="39" Y="220678"/>
<TopLine Value="220670"/>
<EditorIndex Value="3"/>
<UsageCount Value="18"/>
<Loaded Value="True"/>
</Unit30>
<Unit31>
<Filename Value="../../../fpc/rtl/objpas/sysutils/osutilsh.inc"/>
@ -311,9 +305,7 @@
<UnitName Value="WSStdCtrls"/>
<CursorPos X="20" Y="145"/>
<TopLine Value="138"/>
<EditorIndex Value="4"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit36>
<Unit37>
<Filename Value="../../richmemotypes.pas"/>
@ -322,127 +314,145 @@
<TopLine Value="1"/>
<UsageCount Value="10"/>
</Unit37>
<Unit38>
<Filename Value="../../win32/win32richmemo.pas"/>
<UnitName Value="Win32RichMemo"/>
<CursorPos X="79" Y="177"/>
<TopLine Value="168"/>
<EditorIndex Value="1"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit38>
<Unit39>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<UnitName Value="Win32RichMemoProc"/>
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<EditorIndex Value="2"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit39>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="21" TopLine="15"/>
<Caret Line="104" Column="1" TopLine="91"/>
</Position1>
<Position2>
<Filename Value="unit1.pas"/>
<Caret Line="110" Column="1" TopLine="94"/>
<Caret Line="98" Column="21" TopLine="88"/>
</Position2>
<Position3>
<Filename Value="unit1.pas"/>
<Caret Line="109" Column="45" TopLine="99"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="14" Column="1" TopLine="25"/>
</Position3>
<Position4>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="26" TopLine="9"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="25" Column="11" TopLine="11"/>
</Position4>
<Position5>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="107" Column="15" TopLine="106"/>
</Position5>
<Position6>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="32" TopLine="9"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="27" Column="53" TopLine="14"/>
</Position6>
<Position7>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="87" Column="47" TopLine="84"/>
</Position7>
<Position8>
<Filename Value="unit1.pas"/>
<Caret Line="26" Column="30" TopLine="9"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="18" Column="15" TopLine="1"/>
</Position8>
<Position9>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="26" TopLine="9"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="30" Column="25" TopLine="18"/>
</Position9>
<Position10>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="18" TopLine="9"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="121" Column="62" TopLine="120"/>
</Position10>
<Position11>
<Filename Value="unit1.pas"/>
<Caret Line="23" Column="30" TopLine="9"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position11>
<Position12>
<Filename Value="unit1.pas"/>
<Caret Line="111" Column="29" TopLine="101"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="28" Column="33" TopLine="16"/>
</Position12>
<Position13>
<Filename Value="unit1.pas"/>
<Caret Line="74" Column="1" TopLine="71"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="30" Column="35" TopLine="16"/>
</Position13>
<Position14>
<Filename Value="unit1.pas"/>
<Caret Line="78" Column="1" TopLine="73"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="121" Column="60" TopLine="109"/>
</Position14>
<Position15>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="33" TopLine="80"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="141" Column="19" TopLine="129"/>
</Position15>
<Position16>
<Filename Value="unit1.pas"/>
<Caret Line="75" Column="1" TopLine="73"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position16>
<Position17>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="30" TopLine="25"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="25" Column="29" TopLine="13"/>
</Position17>
<Position18>
<Filename Value="unit1.pas"/>
<Caret Line="26" Column="52" TopLine="25"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="26" Column="88" TopLine="13"/>
</Position18>
<Position19>
<Filename Value="unit1.pas"/>
<Caret Line="25" Column="30" TopLine="25"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="96" Column="84" TopLine="84"/>
</Position19>
<Position20>
<Filename Value="unit1.pas"/>
<Caret Line="24" Column="30" TopLine="24"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="107" Column="25" TopLine="95"/>
</Position20>
<Position21>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="33" TopLine="81"/>
<Filename Value="../../win32/win32richmemoproc.pas"/>
<Caret Line="141" Column="1" TopLine="129"/>
</Position21>
<Position22>
<Filename Value="unit1.pas"/>
<Caret Line="80" Column="7" TopLine="75"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="143" Column="81" TopLine="131"/>
</Position22>
<Position23>
<Filename Value="unit1.pas"/>
<Caret Line="88" Column="1" TopLine="75"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="32" Column="20" TopLine="20"/>
</Position23>
<Position24>
<Filename Value="unit1.pas"/>
<Caret Line="79" Column="3" TopLine="75"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="121" Column="60" TopLine="109"/>
</Position24>
<Position25>
<Filename Value="unit1.pas"/>
<Caret Line="33" Column="44" TopLine="33"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="143" Column="1" TopLine="131"/>
</Position25>
<Position26>
<Filename Value="unit1.pas"/>
<Caret Line="110" Column="3" TopLine="108"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position26>
<Position27>
<Filename Value="unit1.pas"/>
<Caret Line="93" Column="1" TopLine="91"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="24" Column="38" TopLine="17"/>
</Position27>
<Position28>
<Filename Value="unit1.pas"/>
<Caret Line="89" Column="1" TopLine="76"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="175" Column="30" TopLine="145"/>
</Position28>
<Position29>
<Filename Value="unit1.pas"/>
<Caret Line="104" Column="1" TopLine="91"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="124" Column="61" TopLine="115"/>
</Position29>
<Position30>
<Filename Value="unit1.pas"/>
<Caret Line="98" Column="21" TopLine="88"/>
<Filename Value="../../win32/win32richmemo.pas"/>
<Caret Line="139" Column="61" TopLine="123"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -15,7 +15,7 @@ uses
// Win32WidgetSet
Win32WSControls, Win32Int,
// RichMemo headers
RichMemoTypes, WSRichMemo, Win32RichMemoProc;
WSRichMemo, Win32RichMemoProc;
type
@ -24,11 +24,12 @@ type
TWin32WSCustomRichMemo = class(TWSCustomRichMemo)
published
class function CreateHandle(const AWinControl: TWinControl; const AParams: TCreateParams): HWND; override;
class function GetTextAttributes(const AWinControl: TWinControl; TextStart: Integer;
var Params: TFontParams): Boolean; override;
class function GetTextAttributes(const AWinControl: TWinControl; TextStart: Integer;
var Params: TIntFontParams): Boolean; virtual;
class procedure SetTextAttributes(const AWinControl: TWinControl; TextStart, TextLen: Integer;
Mask: TTextStyleMask; const Params: TFontParams); override;
const Params: TIntFontParams); override;
class procedure SetHideSelection(const AWinControl: TWinControl; AHideSelection: Boolean); override;
class function GetStyleRange(const AWinControl: TWinControl; TextStart: Integer; var RangeStart, RangeLen: Integer): Boolean; override;
end;
implementation
@ -117,7 +118,7 @@ begin
end;
class procedure TWin32WSCustomRichMemo.SetTextAttributes(const AWinControl: TWinControl;
TextStart, TextLen: Integer; Mask: TTextStyleMask; const Params: TFontParams);
TextStart, TextLen: Integer; const Params: TIntFontParams);
var
OrigStart : Integer;
OrigLen : Integer;
@ -131,15 +132,15 @@ begin
if NeedLock then begin
LockRedraw(AWinControl.Handle);
RichEditManager.SetSelection(AWinControl.Handle, TextStart, TextLen);
RichEditManager.SetSelectedTextStyle(AWinControl.Handle, Mask, Params );
RichEditManager.SetSelectedTextStyle(AWinControl.Handle, Params );
RichEditManager.SetSelection(AWinControl.Handle, OrigStart, OrigLen);
UnlockRedraw(AWinControl.Handle);
end else
RichEditManager.SetSelectedTextStyle(AWinControl.Handle, Mask, Params);
RichEditManager.SetSelectedTextStyle(AWinControl.Handle, Params);
end;
class function TWin32WSCustomRichMemo.GetTextAttributes(
const AWinControl: TWinControl; TextStart: Integer; var Params: TFontParams
const AWinControl: TWinControl; TextStart: Integer; var Params: TIntFontParams
): Boolean;
var
OrigStart : Integer;
@ -169,5 +170,12 @@ begin
RichEditManager.SetHideSelection(AWinControl.Handle, AHideSelection);
end;
class function TWin32WSCustomRichMemo.GetStyleRange(
const AWinControl: TWinControl; TextStart: Integer; var RangeStart,
RangeLen: Integer): Boolean;
begin
Result:=inherited GetStyleRange(AWinControl, TextStart, RangeStart, RangeLen);
end;
end.

View File

@ -6,13 +6,13 @@ interface
uses
// windows units
Windows,richedit,
Windows,richedit,
// RTL units
Classes, SysUtils,
// LCL units
Graphics,
// RichMemo unit
RichMemoTypes,
// RichMemoUnits
WSRichMemo,
// Win32 widgetset units
win32proc;
@ -22,8 +22,8 @@ type
TRichEditManager = class(TObject)
public
class function SetSelectedTextStyle(RichEditWnd: Handle;
SetMask: TTextStyleMask; Params: TFontParams): Boolean; virtual;
class function GetSelectedTextStyle(RichEditWnd: Handle; var Params: TFontParams): Boolean; virtual;
Params: TIntFontParams): Boolean; virtual;
class function GetSelectedTextStyle(RichEditWnd: Handle; var Params: TIntFontParams): Boolean; virtual;
class procedure GetSelection(RichEditWnd: Handle; var TextStart, TextLen: Integer); virtual;
class procedure SetSelection(RichEditWnd: Handle; TextStart, TextLen: Integer); virtual;
class procedure SetHideSelection(RichEditWnd: Handle; AValue: Boolean); virtual;
@ -31,7 +31,7 @@ type
TRichManagerClass = class of TRichEditManager;
var
RichEditManager : TRichManagerClass = TRichEditManager;
RichEditManager : TRichManagerClass = nil;
function InitRichEdit: Boolean;
function GetRichEditClass: AnsiString;
@ -51,7 +51,7 @@ function GetRichEditClass: AnsiString;
begin
Result := GlobalRichClass;
end;
function InitRichEdit: Boolean;
begin
if GlobalRichClass = '' then begin
@ -93,7 +93,7 @@ begin
end;
procedure CharFormatToFontParams(const fmt: TCHARFORMAT; var Params: TFontParams);
procedure CharFormatToFontParams(const fmt: TCHARFORMAT; var Params: TIntFontParams);
begin
Params.Name := fmt.szFaceName;
Params.Size := fmt.cbSize;
@ -104,7 +104,7 @@ end;
{ TRichEditManager }
class function TRichEditManager.SetSelectedTextStyle(RichEditWnd: Handle;
SetMask: TTextStyleMask; Params: TFontParams): Boolean;
Params: TIntFontParams): Boolean;
var
w : WPARAM;
fmt : TCHARFORMAT;
@ -120,32 +120,25 @@ begin
FillChar(fmt, sizeof(fmt), 0);
fmt.cbSize := sizeof(fmt);
if tsm_Color in SetMask then begin
fmt.dwMask := fmt.dwMask or CFM_COLOR;
fmt.crTextColor := Params.Color;
end;
fmt.dwMask := fmt.dwMask or CFM_COLOR;
fmt.crTextColor := Params.Color;
fmt.dwMask := fmt.dwMask or CFM_FACE ;
// keep last char for Null-termination?
CopyStringToCharArray(Params.Name, fmt.szFaceName, LF_FACESIZE-1);
if tsm_Name in SetMask then begin
fmt.dwMask := fmt.dwMask or CFM_FACE ;
// keep last char for Null-termination
CopyStringToCharArray(Params.Name, fmt.szFaceName, LF_FACESIZE-1);
end;
fmt.dwMask := fmt.dwMask or CFM_SIZE;
fmt.yHeight := Params.Size * TwipsInFontSize;
if tsm_Size in SetMask then begin
fmt.dwMask := fmt.dwMask or CFM_SIZE;
fmt.yHeight := Params.Size * TwipsInFontSize;
end;
if tsm_Styles in SetMask then begin
fmt.dwMask := fmt.dwMask or CFM_EFFECTS;
fmt.dwEffects := FontStylesToEffects(Params.Style);
end;
fmt.dwMask := fmt.dwMask or CFM_EFFECTS;
fmt.dwEffects := FontStylesToEffects(Params.Style);
Result := SendMessage(RichEditWnd, EM_SETCHARFORMAT, w, PtrInt(@fmt))>0;
end;
class function TRichEditManager.GetSelectedTextStyle(RichEditWnd: Handle;
var Params: TFontParams): Boolean;
var Params: TIntFontParams): Boolean;
var
w : WPARAM;
fmt : TCHARFORMAT;