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

Вниз

Функция форматирования текста в Stringgrid   Найти похожие ветки 

 
Amadeus   (2003-12-19 00:45) [0]

Поддскажите функцию, которая делает следующее:
При изменении ширины колонки в Stringgrid - если текст полностью не влезает, то добавлять в конце троеточие.


 
Anatoly Podgoretsky   (2003-12-19 08:51) [1]

DrawTextEx


 
Amadeus   (2003-12-19 09:30) [2]

И ещё такой вопрос: как сделать, чтобы можно было плавно менять ширину колонки в SnringGrid? Мышку двигаешь и ширина чтобы сразу менялась, а не после отпускания мыши?


 
Amoeba   (2003-12-19 12:36) [3]

Написать свой StringGrid


 
Amadeus   (2003-12-19 13:02) [4]

>Написать свой StringGrid
Может готовый уже есть с такими возможностями?


 
Amoeba   (2003-12-19 13:06) [5]

Ищите да обрящете.


 
Amadeus   (2003-12-19 17:02) [6]

Может всё-таки кто-нибудь подскажет какой компонент, кто-то ведь пользуется дополнительными. Надо всего лишь 2 доп функции: плавное изменение ширины стобца и форматирование текста при изменении ширины.
Во всех компонентах, которые я нашёл, ширина столбца ни в каком не меняется плавно.


 
Анонимщик   (2003-12-19 18:10) [7]

В предке TStringGrid"а - классе TCustomGrid в секции protected есть процедура ColWidthsChanged. Вот и нужно, стало быть, в твоем наследнике процедуру переопределить и написать там то, что тебе нужно. Все понятно?


 
Amadeus   (2003-12-26 01:38) [8]

Понятно то понятно, только я сделать это навряд ли смогу.


 
Talla2k   (2003-12-26 01:49) [9]

ProfGrid,что на torry!!!Полный рулез!!!Там есть все!Даже copy,cut,paste,clear для группы ячеек(обычный StringGrid не позволяет даже выделять при goEditing=true)
З.Ы.Один только минус!Он платный,а мои 3-х дневные поиски не к чему не привели.


 
Анонимщик   (2003-12-26 11:56) [10]

На самом деле для плавного изменения ширины столбцов достаточно написать реакции на события OnMouseDown, OnMouseMove, OnMouseUp.
А для написания текста с многоточием - использовать обработчик OnDrawCell.

Я на твоем месте так бы и попытался сделать - вдруг выйдет все-таки? Если не будет получаться - помогу.


 
Silver Alex   (2003-12-26 15:49) [11]

может быть немного топорно, но смысл я думаю понятен.Можно где надо поправить

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
str: String;
i: Integer;

function StrIsPixel(aCanvas: TCanvas;const aPixels: Integer; aText: String): Integer;
var
tmp,i: Integer;
aStr: String;
begin
Result:=0;
aStr:=EmptyStr;
for i:=length(atext) downto 1 do
begin
aStr:=copy(aText,1,i);
if aCanvas.TextWidth(aStr)<=aPixels then
begin
Result:=i;
break;
end;
end;
end;
begin
if Column.FieldName<>"MatName" then exit;
DBGrid1.Canvas.FillRect(rect);
i:=StrIsPixel(DBGrid1.Canvas,rect.Right-Rect.Left,ADODataSet1.FieldByname("matname").AsString);
if i<length( ADODataSet1.FieldByname("matname").AsString) then
str:=copy(ADODataSet1.FieldByname("matname").AsString,1,i-3 )+"..."
else
str:=ADODataSet1.FieldByname("matname").AsString ;
DBGrid1.Canvas.TextOut(rect.Left+2,Rect.Top+2,str);
end;



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

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

Наверх





Память: 0.47 MB
Время: 0.008 c
6-37841
Dmitriy_R
2003-11-13 09:17
2004.01.13
ServerSocket и THread


1-37679
Sergey SP
2003-12-26 11:32
2004.01.13
Каталог консольного приложения


14-37922
mosha
2003-12-20 19:32
2004.01.13
Предложение програмистам


14-37896
VID
2003-12-21 19:17
2004.01.13
Работаем с ApplicationEvents.OnMessage


1-37669
Rradion
2003-12-26 14:53
2004.01.13
ОБХОД ГРАФА ( в глубину ) - помогите, кто в курсе!





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