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

Вниз

Изменение ширины фиксированной колонки в StringGrid   Найти похожие ветки 

 
JIruaasgyy   (2004-02-29 13:33) [0]

Как в StringGrid изменить ширину фиксированной колонки?У меня это не получается сделать даже если Я ставлю "goColSizing" на True.Видимо,это не предусмотренно.А как тогда быть, если слово стоящее на фиксированной колонке не влазит?


 
Defunct   (2004-02-29 13:40) [1]

ColWidth[] := xx
Не помогает?

Откройте DFM файл в текстовом редакторе, посмотрите как настраивается StringGrid


 
JIruaasgyy   (2004-02-29 17:16) [2]

ColWidth[] := xx
Это программно, а я хочу чтоы можно было расширять с помощью мыши


 
TButton   (2004-02-29 17:20) [3]

:) можно. только у тя... вобщем должны быть фиксированы либо только колонки, либо только строки. если и те и те, то никак.


 
Vlad40   (2004-02-29 18:27) [4]

Все это можно реализовать самому. Вот тебе пример кода. В принципе он вроде бы работает, только еще надо бы отрисовать перемещение границы при передвижении нажатой мышки - лень было писать.


var
StartResizeFixCol : Boolean = false;

procedure TForm1.StringGrid1MouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var
Rect: TRect;
begin
Rect.Left:=StringGrid1.CellRect(0,0).Right-3;
Rect.Right:=StringGrid1.CellRect(0,0).Right+3;
Rect.top:=StringGrid1.CellRect(0,0).top;
Rect.Bottom:=StringGrid1.CellRect(0,0).Bottom;
if PtInRect(Rect, Point(x,y)) then
StringGrid1.Cursor:=crHSplit
else
StringGrid1.Cursor:=crDefault;
end;

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
Rect: TRect;
begin
Rect.Left:=StringGrid1.CellRect(0,0).Right-3;
Rect.Right:=StringGrid1.CellRect(0,0).Right+3;
Rect.top:=StringGrid1.CellRect(0,0).top;
Rect.Bottom:=StringGrid1.CellRect(0,0).Bottom;
if PtInRect(Rect, Point(x,y)) then
StartResizeFixCol := True;
end;

procedure TForm1.StringGrid1MouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if StartResizeFixCol then
begin
StringGrid1.ColWidths[0]:=x;
StartResizeFixCol := False;
end;
end;




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

Форум: "Основная";
Текущий архив: 2004.03.14;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.013 c
1-43656
Marina_S
2004-02-29 17:27
2004.03.14
Runtime error 203


14-43751
Dimka Maslov
2004-02-19 14:11
2004.03.14
Оказывается это не больно


14-43834
Оля
2004-02-21 19:23
2004.03.14
Как активизировать microsoft word?


14-43880
Добрыня
2004-02-19 18:09
2004.03.14
лицензирование


1-43515
Charly22
2004-02-28 17:38
2004.03.14
Использование словарей





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский