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

Вниз

Давайте мне поможем с DbgridEh из Ehlib   Найти похожие ветки 

 
vopros   (2003-03-14 10:39) [0]

Пользователи хотят чтобы высота строк соответсвовала размеру содержимого этих строк. ТОбишь как в Printdbgrideh-RowStretch.
Я еще не разбирался но Вас прощу помочь дабы время не тратить много весна все таки.
Да, сейчас влюблен в Наташу- замечательную девушку из медцентра где я кодировался от алкоголя. Собрались расписать летом.Извините за оффтопик.


 
Danilka   (2003-03-14 10:55) [1]

:)))
весна это хорошо, влеблен в Наташку, вообще класс, а вот расписаться... поживи с этой Наташкой сначала пару лет, потом поймешь, хочется тебе расписываться или нет.

А по теме, DbgridEh, честно говоря, не видел, для своего грида, насленика от стринггрида делать примерно так:
В обработчике OnPressKey толи OnKeyUp (уже не помню, давно дело было) проверял, сколько строк в тексте и потом:

RowHeights[i]:=y*canvas.TextHeight("W")+5;
InplaceEditor.Height:=RowHeights[i];

были еще какие-то приколы, но их я уже не помню...


 
Кулюкин Олег   (2003-03-14 12:11) [2]

Я делал это с обычным гридом.

THackGrid = class(TDBGrid)
public
property RowHeights;
property DataLink;
end;

procedure TGeogrObjProp.DBGrid2DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var R : TRect;
S : String;
Y : integer;
begin
if not (Sender as TDBGrid).DataSource.DataSet.IsEmpty then
begin
R := Rect;
S := (Sender as TDBGrid).DataSource.DataSet.FieldByName("Comment").AsString;
Y := DrawText((Sender as TDBGrid).Canvas.Handle, PChar(S), -1, R, DT_WORDBREAK or DT_CALCRECT);
if Y > THackGrid(Sender).RowHeights[THackGrid(Sender).DataLink.ActiveRecord + 1] then
THackGrid(Sender).RowHeights[THackGrid(Sender).DataLink.ActiveRecord + 1] := Y;
R := Rect;
R.Bottom := R.Top + Y;
DrawText((Sender as TDBGrid).Canvas.Handle, PChar(S), -1, R, DT_LEFT or DT_WORDBREAK);
end;
end;
end;


 
Danilka   (2003-03-14 12:18) [3]

Кулюкин Олег © (14.03.03 12:11)
а как во время едита? ;))


 
Кулюкин Олег   (2003-03-14 13:08) [4]

2 Danilka © (14.03.03 12:18)
Никак :)
Только смотреть.

В вопросе не было сказано, что надо редактировать. :)


 
Danilka   (2003-03-14 13:11) [5]

Кулюкин Олег © (14.03.03 13:08)
точно нет. :))
это все весна пополам с тяпницей...


 
Кулюкин Олег   (2003-03-14 13:12) [6]

2 Danilka © (14.03.03 13:11)
Надо подумать как лучше сделать с редактированием.


 
Danilka   (2003-03-14 13:32) [7]

Кулюкин Олег © (14.03.03 13:12)
с этим геморой еще тот... надо сделать свой InplaceEdit-ор - стандартный TInplaceEdit пишет все в одну строку, можно наследоваться и от него, и переопределить CreateParams примерно вот-так:

procedure TDanInplaceEdit.CreateParams(var Params: TCreateParams);
const
Alignments: array[TAlignment] of DWORD = (ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited CreateParams(Params);
if wrapEdit then
with Params do Style := Style or Alignments[FAlignment] xor ES_AUTOHSCROLL
else with Params do Style := Style or Alignments[FAlignment] or ES_AUTOHSCROLL;
end;


Потом надо обьяснить гриду, чтобы он пользовался этим едитором, вместо стандартного, и в нем уже, при редактировании при обработке нажатия клавиши смотреть сколько строк получается и в соответствии с этим увеличивать/уменьшать высоту строки грида.


 
Danilka   (2003-03-14 13:42) [8]

но вообще, это только начало гемороя :))
затем захочется, чтобы во время редактирования ячейки можно було менять выравнивание текста, по левому/правому краю, по центру (по-крайней мере мне захотелось) и еще всяких фичь, вобщем, едитор сам распухнет очень даже нехило...


 
Mike Kouzmine   (2003-03-14 13:43) [9]

В OptionEh что-то типа dghFitRow что-то там Text



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

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

Наверх




Память: 0.46 MB
Время: 0.009 c
1-100319
s_328
2003-03-19 23:45
2003.03.31
delphi и pdf


1-100241
S
2003-03-18 15:55
2003.03.31
Вопрос на засыпку!!!!!!!


1-100272
X-Snake
2003-03-19 10:53
2003.03.31
Как сделать окно что бы оно было поверх остальных?


1-100270
.::D.e.M.o.N.i.X::.
2003-03-19 09:44
2003.03.31
Есть нестандартная ситуация (а мож и стандартная)


9-100133
Fog
2002-10-29 15:20
2003.03.31
Бэкгроунд





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