EditorOptions, Color: fixed traversing color tree by keyboard

git-svn-id: trunk@25828 -
This commit is contained in:
martin 2010-06-02 01:07:41 +00:00
parent 7d182b6bd5
commit df10ee07b8
2 changed files with 19 additions and 0 deletions

View File

@ -102,6 +102,7 @@ inherited EditorColorOptionsFrame: TEditorColorOptionsFrame
OnAdvancedCustomDrawItem = ColorElementTreeAdvancedCustomDrawItem
OnChange = ColorElementTreeChange
OnClick = ColorElementTreeClick
OnKeyDown = ColorElementTreeKeyDown
Options = [tvoAutoExpand, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowLines, tvoToolTips, tvoNoDoubleClickExpand, tvoThemedDraw]
end
object chkSchemeDefaults: TCheckBox

View File

@ -83,6 +83,7 @@ type
State: TCustomDrawState; Stage: TCustomDrawStage; var PaintImages, DefaultDraw: Boolean);
procedure ColorElementTreeChange(Sender: TObject; Node: TTreeNode);
procedure ColorElementTreeClick(Sender: TObject);
procedure ColorElementTreeKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure ColorPreviewMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure ForegroundColorBoxChange(Sender: TObject);
@ -338,6 +339,23 @@ begin
FindCurHighlightElement;
end;
procedure TEditorColorOptionsFrame.ColorElementTreeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
lnode: TTreeNode;
begin
lnode := ColorElementTree.Selected;
if (Key = VK_UP) and (lnode <> nil) then begin
lnode := lnode.GetPrevExpanded;
if (lnode <> nil) and (lnode.GetFirstChild <> nil) then
lnode := lnode.GetPrevExpanded;
if (lnode <> nil) then begin
Key :=VK_UNKNOWN;
ColorElementTree.Selected := lnode;
end;
end;
end;
procedure TEditorColorOptionsFrame.ColorPreviewMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var