|
ListView 컨트롤 내부에 이미 구현이 되어있습니다.
#include <CommCtrl.hpp> 를 추가해야 합니다.
void __fastcall TForm1::ListView1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TLVHitTestInfo info;
info.pt.x = X;
info.pt.y = Y;
SendMessage(ListView1->Handle, LVM_SUBITEMHITTEST, 0, (LPARAM)&info);
//
// info.iSubItem에 선택된 컬럼값이 저장됩니다.
//
Label1->Caption = IntToStr(info.iSubItem);
}
civilian
speed 님이 쓰신 글 :
: TListView의 viewStyle을 vsReport로 설정 했구요..
:
: 컬럼은 대략 한 12개 항목정도 되구요...
: 각각에 데이타를 넣었습니다.
:
: 그럼 컬럼수가 많으면.. ListView의아래에 스코롤 바가 생성되죠..
:
: 근데.. 여기서... 사용자가 마우스로 항목을 선택하면..
: 몇 번째 SubItem을 선택했는지 알수 있는 방법이 없는지요..
:
: 즉 마우스 X좌표값을 가지고와서..
: 각 항목의 컬럼의 Width만큼 빼나가면.. 대략...몇번째 항목이 선택 되었는지를 알수 있을것 같은데..
: 문제는 스코롤바가 이동시... 컬럼의 위치로는 문제가 생기더군요..(한계)
: 혹시.. 스코롤바의 좌표값을 가져오는 메소드나..
: 아니면 다른 방법이나... 구현되어진 메소드가 있는지....
:
: 꼭 좀 알려주시기 바랍니다.
: 그럼 ... 수고하세용!!!
|