![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
А теперь ecmListEdit
Rusya © (2007-06-02 23:55:00)Как отслеживать изменение ширины столбца в компоненте ecmListEdit? (т.е. как вообще отловить событие, когда пользователь изменяет в заголовке ListEdit'a ширину столбца?)
Дмитрий К (2007-08-21 16:52:00) [1]
> Дмитрий К © (21.08.07 14:05) [6]
Например:
program testecmpass;
uses
Windows, Messages, Kol, KOLEcmListEdit;
type
PForm1 = ^TForm1;
TForm1 = object(TObj)
form, btn, list: PControl;
PassList: PStrList;
public
procedure DoClick(Sender: PObj);
procedure DoStopEdit(Sender: PControl; ACol, ARow: Integer; CellChanged: Boolean);
end;
var
Form1: PForm1;
procedure NewForm1(var Result: PForm1; AParent: PControl);
var i: Integer;
begin
New(Result, Create);
with Result^ do
begin
form := NewForm(AParent, 'Form1');
form.Add2AutoFree(Result);
Applet := form;
list := NewEcmListEdit(form, lvsDetail, [lvoGridLines], nil, nil, nil).SetSize(400,300).ResizeParentRight;
list.LVColAdd('Items', taLeft, 100);
list.LVColAdd('Pass', taCenter, 100);
PassList := NewStrList;
form.Add2AutoFree(PassList);
for i := 0 to 10 do
begin
list.LVItemAdd('Item ' + int2str(i));
PassList.Add('');
end;
PEcmListEdit(list.CustomObj).OnStopEdit := DoStopEdit;
btn := NewButton(form, 'Show Passes').AutoSize(True).PlaceUnder.ResizeParentBottom;
btn.OnClick := DoClick;
end;
end;
{ TForm1 }
procedure TForm1.DoClick(Sender: PObj);
var i: Integer;
begin
for i := 0 to PassList.Count - 1 do
list.LVItems[i, 1] := PassList.Items[i];
end;
procedure TForm1.DoStopEdit(Sender: PControl; ACol, ARow: Integer;
CellChanged: Boolean);
begin
if ACol = 1 then
begin
PassList.Items[ARow] := Sender.LVItems[ARow, ACol];
Sender.LVItems[ARow, ACol] := '********';
end;
end;
begin
NewForm1(Form1, nil);
Run(Applet);
end.
Дмитрий К (2007-08-21 14:05:00) [2]В столбце выводи звездочки, пароли запоминай в другом месте.
Demt (2007-08-21 13:16:00) [3]Спустя 9 днейнужный вопрос остался без ответа.
Demt (2007-08-09 09:41:00) [4]Как в ECMListEdit сделать столбец с полем Password? То есть по аналогии с EditBox в опциях - eoPassword.
Нужно, чтобы звездочки отображались не только во время редактирования:
procedure TForm1.NLPListColAdjust(Sender: PControl; ACol: Integer;
var ColOption: TEditorOptions);
begin
Case ACol of
2: ColOption.Options := [eoPassword];
//Звездочки отображаются при редактировании.
end;
end;
(2007-08-08 22:17:00) [5]Удалено модератором
mdw (2007-06-05 19:45:00) [6]В ListView в качестве заголовка используется стандартный SysHeader32, так что ловите HDN_BEGINTRACK, HDN_TRACK, HDN_ENDTRACK.
Rusya (2007-06-05 19:36:00) [7]И все же, господа: как отловить событие, когда пользователь изменяет в заголовке ListEdit'a ширину столбца? :)