Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.101 c
1-1092417058
Gnec
2004-08-13 21:10
2004.08.29
Как сделать перескок к нужному итему?


1-1092389998
Aleksander
2004-08-13 13:39
2004.08.29
Как обработать символ < >


14-1092041178
inic
2004-08-09 12:46
2004.08.29
В Delphi была горячая клавиша для вставки в редактор


14-1092198512
stas_x
2004-08-11 08:28
2004.08.29
Патент на ПО


14-1088092497
OSokin
2004-06-24 19:54
2004.08.29
Новый сайт




   Наверх