powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGid HeaderHint
6 сообщений из 6, страница 1 из 1
cxGid HeaderHint
    #39892739
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

То ли слепой, то ли одно из двух. Где для TcxGridDBColumn прописать хинт для заголовка? ExpressQuantumGrid 6.
...
Рейтинг: 0 / 0
cxGid HeaderHint
    #39892800
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
переформулирую - как задать хинт для заголовков колонок дб-грида? Знаю способ через MouseMove, но уверен, что есть штатный.
...
Рейтинг: 0 / 0
cxGid HeaderHint
    #39892802
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно и нет такого "из коробки". Придется велосипедить тогда, типа самому из обработчика OnMouseMove отображать
...
Рейтинг: 0 / 0
cxGid HeaderHint
    #39892863
DimaBr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
type
TMycxGridBandHeaderViewInfo = class(TcxGridBandHeaderViewInfo)
  procedure InitHint(const AMousePos: TPoint; out AHintText: TCaption; out AIsHintMultiLine: Boolean; out ATextRect: TRect); override;
end;

TMycxGridBandViewInfo = class(TcxGridBandViewInfo)
    class function GetHeaderViewInfoClass: TcxGridBandHeaderViewInfoClass; override;
end;

TMycxGridBandsViewInfo = class(TcxGridBandsViewInfo)
  function GetItemClass: TcxGridBandViewInfoClass;override;
end;

TMycxGridBandedHeaderViewInfo = class(TcxGridBandedHeaderViewInfo)
  function GetBandsViewInfoClass: TcxGridBandsViewInfoClass;override;
end;

TMycxGridBandedTableViewInfo = class(TcxGridBandedTableViewInfo)
  function GetHeaderViewInfoClass: TcxGridHeaderViewInfoClass;override;
end;

TcxGridBandedTableView = class(cxGridBandedTableView.TcxGridBandedTableView)
  function GetViewInfoClass: TcxCustomGridViewInfoClass;override;
end;

  TForm1 = class(TForm)
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGrid1BandedTableView1: TcxGridBandedTableView;
    cxGrid1BandedTableView1Column1: TcxGridBandedColumn;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



{ TMycxGridBandHeaderViewInfo }

procedure TMycxGridBandHeaderViewInfo.InitHint(const AMousePos: TPoint;
  out AHintText: TCaption; out AIsHintMultiLine: Boolean; out ATextRect: TRect);
begin
  inherited;
  AHintText := 'AAA';
end;

class function TMycxGridBandViewInfo.GetHeaderViewInfoClass: TcxGridBandHeaderViewInfoClass;
begin
  Result := TMycxGridBandHeaderViewInfo;
end;

function TMycxGridBandsViewInfo.GetItemClass: TcxGridBandViewInfoClass;
begin
  Result := TMycxGridBandViewInfo;
end;

function TMycxGridBandedHeaderViewInfo.GetBandsViewInfoClass: TcxGridBandsViewInfoClass;
begin
  Result := TMycxGridBandsViewInfo;
end;

function TMycxGridBandedTableViewInfo.GetHeaderViewInfoClass: TcxGridHeaderViewInfoClass;
begin
  Result := TMycxGridBandedHeaderViewInfo;
end;

function TcxGridBandedTableView.GetViewInfoClass: TcxCustomGridViewInfoClass;
begin
  Result := TMycxGridBandedTableViewInfo;
end;

...
Рейтинг: 0 / 0
cxGid HeaderHint
    #39893010
mvb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал так
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
procedure TfmGSStudents.grtvDataMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var AHitTest: TcxGridColumnHeaderHitTest;
    f: TField;
    AHint: string;
    p: TPoint;
begin
     AHint := '';
     AHitTest := TcxGridColumnHeaderHitTest(TcxGridSite(Sender).ViewInfo.GetHitTest(X, Y));

     if AHitTest.HitTestCode <> htColumnHeader then
     begin
       hscHeaderHints.HideHint;
       FHintField := nil;
       exit;
     end;

     if AHitTest.HitTestCode = htColumnHeader then
     begin
       f := TcxGridDBColumn(AHitTest.Column).DataBinding.Field;
       if f = FHintField then
        Exit;
       if FHintField <> nil then
        hscHeaderHints.HideHint;
       FHintField := f;

       if f = spDataIsRedDiplom then
        AHint := 'asd' else
       if f = spDataIsReview then
        AHint := 'zxczxc';

       if AHint <> '' then
       begin
         p := grtvData.Site.ClientToScreen(Point(X, Y));
         hscHeaderHints.ShowHint(p.X, p.Y, '', AHint);
       end else
        FHintField := nil;
     end;
end;



осталось p.X и p.Y подровнять, а так норм.

P.S. Но странно при всей навороченности девок не иметь такого очевидного функционала. Впрочем, может в новых версиях и есть, нам, крестьянам, недоступно ))
...
Рейтинг: 0 / 0
cxGid HeaderHint
    #39893097
white_nigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mvb
Но странно при всей навороченности девок не иметь такого очевидного функционала. Впрочем, может в новых версиях и есть, нам, крестьянам, недоступно ))
Неделю назад реализации этой фичи исполнилось 9 лет...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / cxGid HeaderHint
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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