Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос по DevExpress: VerticalGrid и SetWindowPlacement / 2 сообщений из 2, страница 1 из 1
16.10.2018, 11:07
    #39717988
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DevExpress: VerticalGrid и SetWindowPlacement
Привет всем.

Delphi XE7, DevEx 16.2.6, Win 8.1

На форме VerticalGrid.
При выводе формы на экран текст в VerticalGrid.FocusedRow выделен весь.
Но если перед выводом формы вызвать SetWindowPlacement, то при показе выделение текста в FocusedRow пропадает.

Это нормальное поведение VerticalGrid или можно как-то вылечить?

Тестовый проект под спойлером:

unit Unit7;

interface

uses
Windows, Classes, Controls, Forms,
dxSkinOffice2010Blue, cxLookAndFeelPainters,
cxInplaceContainer, cxVGrid, cxLookAndFeels,
cxGraphics, cxEdit, cxTextEdit, dxSkinsCore,
cxStyles, cxControls;


type
TForm7 = class(TForm)
cxVerticalGrid1: TcxVerticalGrid;
cxVerticalGrid1EditorRow1: TcxEditorRow;
cxVerticalGrid1EditorRow2: TcxEditorRow;
cxVerticalGrid1EditorRow3: TcxEditorRow;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form7: TForm7;

implementation

{$R *.dfm}

procedure TForm7.FormCreate(Sender: TObject);
var
WP : TWindowPlacement;
begin
cxVerticalGrid1.FocusedRow := cxVerticalGrid1EditorRow2;
WP.length := SizeOf( TWindowPlacement );
GetWindowPlacement( Handle, WP );
// Если закомментировать сторку ниже, то все работает
SetWindowPlacement( Handle, WP );
end;

end.


object Form7: TForm7
Left = 0
Top = 0
Caption = 'Form7'
ClientHeight = 299
ClientWidth = 635
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object cxVerticalGrid1: TcxVerticalGrid
Left = 24
Top = 16
Width = 401
Height = 81
OptionsView.ScrollBars = ssVertical
OptionsView.RowHeaderWidth = 198
OptionsBehavior.AlwaysShowEditor = True
TabOrder = 0
Version = 1
object cxVerticalGrid1EditorRow1: TcxEditorRow
Properties.Caption = 'Row 1'
Properties.EditPropertiesClassName = 'TcxTextEditProperties'
Properties.DataBinding.ValueType = 'String'
Properties.Value = 'Value 1'
ID = 0
ParentID = -1
Index = 0
Version = 1
end
object cxVerticalGrid1EditorRow2: TcxEditorRow
Properties.Caption = 'Row 2'
Properties.EditPropertiesClassName = 'TcxTextEditProperties'
Properties.DataBinding.ValueType = 'String'
Properties.Value = 'Value 2'
ID = 1
ParentID = -1
Index = 1
Version = 1
end
object cxVerticalGrid1EditorRow3: TcxEditorRow
Properties.Caption = 'Row 3'
Properties.EditPropertiesClassName = 'TcxTextEditProperties'
Properties.DataBinding.ValueType = 'String'
Properties.Value = 'Value 3'
ID = 2
ParentID = -1
Index = 2
Version = 1
end
end
end


С уважением, Polesov.
...
Рейтинг: 0 / 0
16.10.2018, 11:20
    #39718004
Polesov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DevExpress: VerticalGrid и SetWindowPlacement
Polesov,

Пока удалось победить следующим образом (не нравится):

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
type
  THackVerticalGrid = class( TcxCustomVerticalGrid );
  THackVgController = class( TcxVgController );

procedure TForm7.FormCreate(Sender: TObject);
var
  WP : TWindowPlacement;
begin
  cxVerticalGrid1.FocusedRow := cxVerticalGrid1EditorRow2;
  WP.length := SizeOf( TWindowPlacement );
  GetWindowPlacement( Handle, WP );
// Если закомментировать сторку ниже, то все работает
  SetWindowPlacement( Handle, WP );
  with THackVgController( THackVerticalGrid( cxVerticalGrid1 ).Controller ).EditingController do
    if Assigned( Edit ) then
      Edit.SelectAll;
end;
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Вопрос по DevExpress: VerticalGrid и SetWindowPlacement / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]