![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
Кому-то может мои вопросы покажутся дурацкими, но все же:
Что надо сделать что б при вызове PopupMenu ListBox'a, выделялась та строка, которая находится сейчас под указателем мыши. И еще, как, если можно, сделать горизонтальную прокрутку? Последний раз редактировалось Viteef; 14.06.2007 в 12:15. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
1.
procedure TForm4.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var p:tpoint; begin p.X:=x; p.Y:=y; listbox1.itemindex:=listbox1.Itemat pos(p,true); end; 2. procedure TForm1.FormCreate(Sender: TObject); var i, MaxWidth: integer; begin MaxWidth := 0; for i := 0 to ListBox1.Items.Count - 1 do if MaxWidth < ListBox1.Canvas.TextWidth(ListBox1. Items.Strings[i]) then MaxWidth := ListBox1.Canvas.TextWidth(ListBox1. Items.Strings[i]); SendMessage(ListBox1.Handle, LB_SETHORIZONTALEXTENT, MaxWidth+2, 0); end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#3 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
Большущее спасибо КВЭНДИ, а
как можно перетащить строку из одного листбокса в другой? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Св-ва у двух списков:
DragKind:=dkDrag; Dragmode:=dmautomatic; потом: procedure TForm4.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); var droppedOnIndex: integer; begin if (Sender is TListbox) and (Source is TListBox) then begin droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false); TListBox(Sender).Items.Insert(dropp edOnIndex, TListBox(Source).Items[TListBox(Source).itemindex]); TListBox(Source).Items.Delete(TList Box(Source).itemindex); TListBox(Source).Update; TListBox(Sender).Update; end; end;
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
![]() |
![]() |
![]() |
#5 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
procedure TForm1.AutoLoadDragDrop(Sender, Source: TObject; X, Y: Integer);
var droppedOnIndex: integer; begin if (Sender is TListbox) and (Source is TListBox) then begin droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false); TListBox(Sender).Items.Insert(dropp edOnIndex, TListBox(Source).Items[TListBox(Source).itemindex]); TListBox(Source).Items.Delete(TList Box(Source).itemindex); TListBox(Source).Update; TListBox(Sender).Update; end; end; procedure TForm1.AllGroupDragDrop(Sender, Source: TObject; X, Y: Integer); var droppedOnIndex: integer; begin if (Sender is TListbox) and (Source is TListBox) then begin droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false); TListBox(Sender).Items.Insert(dropp edOnIndex, TListBox(Source).Items[TListBox(Source).itemindex]); TListBox(Source).Items.Delete(TList Box(Source).itemindex); TListBox(Source).Update; TListBox(Sender).Update; end; end; //AutoLoad AllGroup - ListBox'ы Я так понял для обоих ListBox'oB эта процедура, где их в Event прописывать надо? |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
Это для списка- приемника
берешь текст var droppedOnIndex: integer; begin if (Sender is TListbox) and (Source is TListBox) then begin droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false); TListBox(Sender).Items.Insert(dropp edOnIndex, TListBox(Source).Items[TListBox(Source).itemindex]); TListBox(Source).Items.Delete(TList Box(Source).ite mindex); TListBox(Source).Update; TListBox(Sender).Update; end; end; выбираешь событие для списка DragDrop и заменяешь его текст на этот. Св-ва у двух списков: DragKind:=dkDrag; Dragmode:=dmautomatic; поставил ?
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи Последний раз редактировалось zetrix; 15.06.2007 в 07:12. |
![]() |
![]() |
![]() |
#7 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
Все просто вроде бы, но не работает!
Можешь дать простенький исходник, плз! А как же ! Последний раз редактировалось zetrix; 15.06.2007 в 07:13. |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
![]()
unit Unit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm4 = class(TForm) ListBox1: TListBox; ListBox2: TListBox; procedure ListBox2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); procedure FormActivate(Sender: TObject); procedure ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); private { Private declarations } public { Public declarations } end; var Form4: TForm4; implementation {$R *.dfm} procedure TForm4.FormActivate(Sender: TObject); begin listbox1.DragMode:=dmAutomatic; listbox2.DragMode:=dmAutomatic; end; procedure TForm4.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer); var droppedOnIndex: integer; begin if (Sender is TListbox) and (Source is TListBox) then begin droppedOnIndex := TListBox(Sender).ItemAtPos(Point(X, Y), false); TListBox(Sender).Items.Insert(dropp edOnIndex, TListBox(Source).Items[TListBox(Source).itemindex]); TListBox(Source).Items.Delete(TList Box(Source).itemindex); TListBox(Source).Update; TListBox(Sender).Update; end; end; procedure TForm4.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); begin if (Sender is TListBox) and (Source is TListBox) then begin if TListBox(Sender).Name = TListBox(Source).Name then Accept := False else Accept := true; end; end; end.
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи Последний раз редактировалось zetrix; 15.06.2007 в 07:12. |
![]() |
![]() |
![]() |
#9 |
stopfake.org
Участник клуба
Регистрация: 03.05.2007
Сообщений: 1,927
|
![]()
Наконец-то, спасибо за помощь.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
КАЛЫМ на ПАРУ ДНЕЙ (PHP + Delphi) = $ | BoryaPop | Фриланс | 8 | 24.05.2008 21:56 |
Пару вопросов о DynamicSkinForm | Relrin | Компоненты Delphi | 6 | 22.04.2008 04:03 |
Помогите (написть пару элементарных программ на С++) | ВаньОК | Общие вопросы C/C++ | 6 | 10.02.2008 18:50 |
Пара простых вопросов | BETONOMESHALKA | Общие вопросы Delphi | 2 | 27.01.2008 10:30 |
Срочно пару вопросов | fruTT | Общие вопросы Delphi | 8 | 30.10.2007 22:14 |