listview 에서 마우스가 가리키는 아이템에 따라 다른 힌트를 보여줄때 어떻게 해야하나염?
MoouseMove이벤트에서 어떻게 하는거 같은데 잘 이해가 안가네염... 마우스가 어는 아이템 위에 있는지 알수있는 함수가 있나염?
간단한 함수루틴있으면 알려주시길...
또한 리스트뷰에서 popup메뉴를 뛰우는데 아이템이 있는곳에서는 팝업메뉴가 뜨고 아이템이 없는곳에서는 마우스오른쪽버튼을 눌러도 팝업메뉴가 안뜨게 하는 방법좀 아시면 알려주세염... 지금은 편법으로 해놓았지만 이방법이 안맞는것 같아서 그럽니다.
현재 제가 한 소스는
procedure TfrmCon_0001.ListViewMembersMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if Button = mbRight then
begin
if listviewMembers.Selected = nil then
begin
PopupMenu2.AutoPopup := False;
end
else
begin
PopupMenu2.AutoPopup := True;
end;
end;
end;
이와같이 select가 선택되면 팝업의 autopopup을 True로 하고 선택안되어지면 autopopup을 False로 두었습니다... 그런데 이렇게 하면 간간이 제가 원하지 않는 결과가 나오더라고요...
그람 오늘도 즐겁고 행복하시길...
많이 쓰다보면 정말로 잘만들어진 컨트롤이구나라는 감탄사가 나옴니다...
근데 이 리스트 뷰는 메뉴얼에도 그 사용법이 상세하게 또는 사용법 별로
나와 있찌도 않습니다... 걍 닭질끝에 이것저것 시간양념과 고민 쏘쓰를 곁들여
알아낸 방법이죠... 뭐 알구 보면 간단해여....
님께서 궁금해 하시는 것을 차근 차근 풀어 보면...
> 또한 리스트뷰에서 popup메뉴를 뛰우는데 아이템이 있는곳에서는 팝업메뉴가 뜨고 아이템이 없는곳에서는 마우스오른쪽버튼을 눌러도 팝업메뉴가 안뜨게 하는 방법좀 아시면 알려주세염... 지금은 편법으로 해놓았지만 이방법이 안맞는것 같아서 그럽니다.
Solve ->
procedure ListView1OnClick(Sender : TObject);
begin
if ListView1.SelCount < 1 then
begin
exit;
end;
ShowPopupMenu(ListView1.Selected);
end;
정도루 처리하믄 해결될것 같군여....
다음으로...
> listview 에서 마우스가 가리키는 아이템에 따라 다른 힌트를 보여줄때 어떻게 해야하나염?
> MoouseMove이벤트에서 어떻게 하는거 같은데 잘 이해가 안가네염... 마우스가 어는 아이템 위에 있는지 알수있는 함수가 있나염?
Solve->
procedure ListView1MouseDown(Sender : TObejct; Button : TMouseButton; Shift : TShiftState; X, Y : Integer);
var item : TListItem;
begin
item := ListView1.GetItemAt(X, Y);
if item <> nil then
ShowPopupMenu(item);
end;
정도루 다가 해결될수 있겠씸미다...
왜 그런지는 님께서 고민하시기 바랍니다... 한번 심도있게 고민 해봐야..
잘쓸수 있으니까여...
윈도그에서는 안어울리는 말이지만...
At your own Risk~!
즐프하셔염.........
유승완 wrote:
> listview 에서 마우스가 가리키는 아이템에 따라 다른 힌트를 보여줄때 어떻게 해야하나염?
> MoouseMove이벤트에서 어떻게 하는거 같은데 잘 이해가 안가네염... 마우스가 어는 아이템 위에 있는지 알수있는 함수가 있나염?
>
> 간단한 함수루틴있으면 알려주시길...
>
> 또한 리스트뷰에서 popup메뉴를 뛰우는데 아이템이 있는곳에서는 팝업메뉴가 뜨고 아이템이 없는곳에서는 마우스오른쪽버튼을 눌러도 팝업메뉴가 안뜨게 하는 방법좀 아시면 알려주세염... 지금은 편법으로 해놓았지만 이방법이 안맞는것 같아서 그럽니다.
>
> 현재 제가 한 소스는
>
> procedure TfrmCon_0001.ListViewMembersMouseDown(Sender: TObject;
> Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
> begin
> if Button = mbRight then
> begin
> if listviewMembers.Selected = nil then
> begin
> PopupMenu2.AutoPopup := False;
> end
> else
> begin
> PopupMenu2.AutoPopup := True;
> end;
>
> end;
>
>
> end;
>
> 이와같이 select가 선택되면 팝업의 autopopup을 True로 하고 선택안되어지면 autopopup을 False로 두었습니다... 그런데 이렇게 하면 간간이 제가 원하지 않는 결과가 나오더라고요...
>
> 그람 오늘도 즐겁고 행복하시길...