다덜 안녕하세요
오랜만에 들어왓는데 좋은 글은 못 남기고 질문만 드리고 갑니다.
type
...
procedure Button3Click(Sender: TObject);
procedure memberboxclick(Sender: TObject);
procedure memberboxmousedown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure TForm1.Button3Click(Sender: TObject);
var
listform : TForm;
memberbox, procbox : TListBox;
begin
listform := TForm.Create(self);
listform.Left := 10;
listform.Top := 10;
listform.Width := 200;
listform.Height := 500;
listform.show;
procbox := TListBox.Create(self);
procbox.parent := listform;
procbox.Left := -1000;
memberbox := TListBox.Create(self);
memberbox.Parent := listform;
memberbox.Align := alclient;
memberbox.OnClick := memberboxclick;
memberbox.OnMouseDown := memberboxmousedown;
end;
procedure TForm1.memberboxmousedown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
p:Tpoint;
count:integer;
begin
if button = mbRight then
begin
p.x := x;
p.y := y;
if memberbox.ItemAtPos(p,true) <> -1 then
begin
for count := 0 to memberbox.Items.Count-1 do
begin
memberbox.Selected[count] := false;
end;
memberbox.Selected[memberbox.ItemAtPos(p,true)] := true;
p:=memberbox.ClientToScreen(p);
end;
end;
end;
memberboxmousedown 에서 실행하지 못하고 에러가 납니다.
폼을 생성하고 생성된 폼위에 리스트 박스를 올려서 작업을 하려고 하는데 왜 에러가 나는지 잘 모르겠네요
답변 부탁드립니다.
그럼 이만...
안녕하세요.
리스트박스를 오른쪽버튼으로 선택하는 코드네요.
제가 해본 결과로는 에러는 안떨어지는데요.
다만, 리스트박스의 MutiSelect속성이 False로 되어 있으면 에러가 나게 됩니다. Selected속성은 MultiSelect속성이 활성화 되어 있을 때 사용가능하군요.