|
유영식 님이 쓰신 글 :
: 리스트 박스안에서
:
: 아이템들중에 하나를 선택하고 마우스 오른쪽 버튼을 누르면 팝업메뉴가 뜨드록 하고 싶습니다.
:
: 이것이 가능한가여?
:
: 가능하다면 어떤식으로 해야하져??
:
: 아직 감을 못잡겠습니다.
:
: 도움 부탁드립니다.
명확한 답은 아니겠지만..
일단. 폼을 만들구요.. 리스트 박스도 만들구요
담에 팝업 메뉴도 만들구요... ^^;
리스트 박스의 MouseDown 이벤트에 다음과 같이 만들면 비슷하게 됩니다.
어떤 용도인지 몰라서.. 그냥 질문만 보고 만들어 봤습니다.
void __fastcall TForm1::ListBox1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
int retValue = ListBox1->ItemAtPos(TPoint(X, Y), true); // 마우스 클릭위치에서의 Item 을 찾는다.
int X1 = this->Left + X + ListBox1->Left; // 팝업 메뉴 표시 X 좌표... 허접... 쩝.
int Y1 = this->Top + Y + ListBox1->Top; // 팝업 메뉴 표시 Y 좌표 .
if (Button == mbRight) // 누른 버튼이 오른쪽 버튼이면...
{
ListBox1->ItemIndex = retValue; // ListBox의 ItemIndex를 변경합니다.
PopupMenu1->Popup(X1, Y1); // 현재 마우스 위치에 팝업 메뉴를 표시합니다.
}
}
//---------------------------------------------------------------------------
굉장히 허접한 답이었습니다... 날씨도 덥고 일도 안되고 해서.. 쩝...
|