mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-13 17:59:06 +02:00
Patch from bug #19750: TCustomNotebook: Allow keyboard tab switching
git-svn-id: trunk@31733 -
This commit is contained in:
parent
53de325aa6
commit
66231a14fe
@ -297,7 +297,9 @@ type
|
|||||||
TTabGetImageEvent = procedure(Sender: TObject; TabIndex: Integer;
|
TTabGetImageEvent = procedure(Sender: TObject; TabIndex: Integer;
|
||||||
var ImageIndex: Integer) of object;
|
var ImageIndex: Integer) of object;
|
||||||
|
|
||||||
TNoteBookOption = (nboShowCloseButtons, nboMultiLine, nboHidePageListPopup);
|
TNoteBookOption = (
|
||||||
|
nboShowCloseButtons, nboMultiLine, nboHidePageListPopup,
|
||||||
|
nboKeyboardTabSwitch);
|
||||||
TNoteBookOptions = set of TNoteBookOption;
|
TNoteBookOptions = set of TNoteBookOption;
|
||||||
TNoteBookCapability = (nbcShowCloseButtons, nbcMultiLine, nbcPageListPopup);
|
TNoteBookCapability = (nbcShowCloseButtons, nbcMultiLine, nbcPageListPopup);
|
||||||
TNoteBookCapabilities = set of TNoteBookCapability;
|
TNoteBookCapabilities = set of TNoteBookCapability;
|
||||||
@ -366,6 +368,7 @@ type
|
|||||||
procedure DoCreateWnd; virtual;
|
procedure DoCreateWnd; virtual;
|
||||||
procedure DoChange; virtual;
|
procedure DoChange; virtual;
|
||||||
procedure Change; virtual;
|
procedure Change; virtual;
|
||||||
|
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
|
||||||
procedure Loaded; override;
|
procedure Loaded; override;
|
||||||
procedure ReadState(Reader: TReader); override;
|
procedure ReadState(Reader: TReader); override;
|
||||||
function DialogChar(var Message: TLMKey): boolean; override;
|
function DialogChar(var Message: TLMKey): boolean; override;
|
||||||
|
@ -724,6 +724,25 @@ begin
|
|||||||
Result:=false;
|
Result:=false;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCustomNotebook.KeyDown(var Key: Word; Shift: TShiftState);
|
||||||
|
begin
|
||||||
|
if (nboKeyboardTabSwitch in Options) and (Key = VK_TAB) and (PageCount > 0) then
|
||||||
|
begin
|
||||||
|
if Shift = [ssCtrl] then
|
||||||
|
begin
|
||||||
|
PageIndex := (PageIndex + 1) mod PageCount;
|
||||||
|
Exit;
|
||||||
|
end
|
||||||
|
else if Shift = [ssCtrl, ssShift] then
|
||||||
|
begin
|
||||||
|
PageIndex := (PageIndex + PageCount - 1) mod PageCount;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
inherited KeyDown(Key, Shift);
|
||||||
|
end;
|
||||||
|
|
||||||
{------------------------------------------------------------------------------
|
{------------------------------------------------------------------------------
|
||||||
TCustomNotebook GetPageCount
|
TCustomNotebook GetPageCount
|
||||||
------------------------------------------------------------------------------}
|
------------------------------------------------------------------------------}
|
||||||
|
Loading…
Reference in New Issue
Block a user