Создать редактируемый TListBoxDelphi , Компоненты и Классы , СпискиСоздать редактируемый TListBox
Оформил: DeeCo {NOTE : This will also work with an OwnerDraw ListBox But be sure you "pad" the Left Property of the Edit so Any icons etc, do not get covered up by the TEdit. And also be aware that there will be a bit of "flashing" if you do use an OwnerDraw ListBox} {This is in a Popup menu.} procedure TForm1.Change1Click(Sender: TObject); var I9: Integer; ColInt: Integer; LRect: TRect; begin LRect := ListBox1.ItemRect(ListBox1.ItemIndex); {Set the size of the TEdit} Edit1.Top := LRect.Top + 1; Edit1.Left := LRect.Left + 1; Edit1.Width := ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[ListBox1.ItemIndex]) + 6; Edit1.Height := (LRect.Bottom - LRect.Top) + 1; Edit1.Text := ListBox1.Items.Strings[ListBox1.ItemIndex]; ListBox1.Selected[ListBox1.ItemIndex] := False; Edit1.Visible := True; Edit1.SelectAll; Edit1.SetFocus; end; procedure TForm1.ListBox1Click(Sender: TObject); begin Edit1.Visible := False; end; procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); var I8: Integer; begin if Key = #13 then begin I8 := ListBox1.ItemIndex; ListBox1.Items.Delete(ListBox1.ItemIndex); ListBox1.Items.Insert(I8, Edit1.Text); Edit1.Visible := False; Key := #0; end; end; Статья Создать редактируемый TListBox раздела Компоненты и Классы Списки может быть полезна для разработчиков на delphi & pascal. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |