Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

StringGrid [D7, WinXP]


Чайник ©   (2004-08-13 13:39:00) 

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


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

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


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

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


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

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


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

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


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

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

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


Anatoly Podgoretsky   (2004-08-13 14:12:00) [6]

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


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

_student благодарю!


_student   (2004-08-13 14:02:00) [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:00) [9]

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


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

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


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

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


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


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


ордината


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

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


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

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


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

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:53:00) [16]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо