Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.29;
Скачать: CL | DM;

Вниз

StringGrid   Найти похожие ветки 

 
Чайник   (2004-08-13 13:39) [0]

Господа, помогите пожалуйста!... пишу прогу, где значения выводятся в таблицу, и хочу, чтобы при щелчке на заголовке таблицы (на каком- то конкретном столбце) производилась сортировка.. как перехватить нажатие на Fix поле?


 
Алхимик ©   (2004-08-13 13:53) [1]

Как вариант отказаться от Fix, перерисовывать StringGrid самому: лже-фиксированые ячейки и все остальные.
В OnClick определять куды щёлкнули.


 
Думкин ©   (2004-08-13 13:55) [2]

procedure TfMain.sgPriceMouseUp(Sender: TObject; Button: TMouseButton;
 Shift: TShiftState; X, Y: Integer);
var S : TGridCoord;
begin
    S := sgPrice.MouseCoord(X, Y);
    if S.Y = 0 then begin


 
Чайник   (2004-08-13 13:56) [3]

хорошо, тады встречный вопрос: как сделать так чтобы кнопки(которые я помещу в зоголовок не получали фокуса при нажатии, т.е. не обводились рамочкой) можно ли ето сделать просто при клике делать focus:=false ? ето будет работать?


 
Чайник   (2004-08-13 13:57) [4]

Думкин: "y" ето номер столбца?


 
Алхимик ©   (2004-08-13 13:58) [5]


> [4] Чайник   (13.08.04 13:57)


ордината


 
Чайник   (2004-08-13 13:59) [6]

Алзимик: т.е. x,y ето просто кординаты мыши? если так, то как мне узнавать на каком столбце щелкнули? выщитывать координаты каждого столбца?


 
Anatoly Podgoretsky ©   (2004-08-13 14:00) [7]

Кнопочки, которые не получают фокуса, называются TSpeedButton


 
_student   (2004-08-13 14:02) [8]

Может так

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
 Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
 cx, cy: integer;
begin
 StringGrid1.MouseToCell(x, y, cx, cy);
 if cy = 0 then
   ShowMessage("Hello");

end;


 
Чайник   (2004-08-13 14:02) [9]

Anatoliy Podgoretsky т.е. вариант с заменой fix полей Speedbutton"оми нормален?


 
Чайник   (2004-08-13 14:03) [10]

_student благодарю!


 
Anatoly Podgoretsky ©   (2004-08-13 14:12) [11]

Чайник   (13.08.04 14:02) [9]
Нормален, но кода придется писать уйму, почти весь функционал придется переписывать. Еще есть и THeaderControl именно для создания заголовков


 
Думкин ©   (2004-08-13 14:14) [12]

> [6] Чайник   (13.08.04 13:59)

S - TGridCoord + F1. По Up конечно, но можно отсюда начинать.


 
Думкин ©   (2004-08-13 14:15) [13]

Конечно, ту надо смотреть при изменении ширины, порядка и т.п.
То есть по хорошему тоже немного повозиться надо бы.


 
Чайник   (2004-08-13 14:56) [14]

Всем спасибо :) speedbtn по-мойму будет оптимальным выходом


 
Anatoly Podgoretsky ©   (2004-08-13 15:16) [15]

Нет, придется очень много писать или будет уродец, HeaderControl имеет большинство нужной функциональности.


 
Чайник   (2004-08-13 15:38) [16]

Anatoly Podgoretsky , благодарю за совет пойду делать с HeaderControl



Страницы: 1 вся ветка

Текущий архив: 2004.08.29;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
1-1092456220
SlasherX
2004-08-14 08:03
2004.08.29
Ассоциирование типов файлов с программой


1-1092682678
Seldon
2004-08-16 22:57
2004.08.29
Как задать папку для генерации DCU и EXE


3-1091694958
RDen
2004-08-05 12:35
2004.08.29
Как добавить поле в FieldEditor?


14-1092303585
SiJack
2004-08-12 13:39
2004.08.29
Незаметили что доллар как то расти начал?


4-1090142479
yegor
2004-07-18 13:21
2004.08.29
RAS.ConnectionStatus