Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.035 c
6-1086003426
Maxuz
2004-05-31 15:37
2004.08.29
TClientSocket


1-1092219422
Zlodey
2004-08-11 14:17
2004.08.29
Управление компонентами формы из модуля данных


4-1090088380
parovoZZ
2004-07-17 22:19
2004.08.29
Картинки *.PNG


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


3-1090838604
Dalex
2004-07-26 14:43
2004.08.29
MySql





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский