굳이 어렵게 쓰지 않아도 됩니다.
에제 올립니다.
참고하세요~
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1ColumnClick(TObject *Sender, TListColumn *Column)
{
//칼럼이 클릭되면 해당 칼럼의 캡션을 메모에 표시한다.
Memo1->Lines->Add("[ListView1ColumnClick] "+Column->Caption);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//리스트 뷰의 2번째 칼럼을 클릭했을때와 같은 효과
ListView1ColumnClick(ListView1, ListView1->Columns->Items[1]);
}
//---------------------------------------------------------------------------
미연아사랑해 님이 쓰신 글 :
: 직접 리스트뷰 컬럼을 누르는게 아니고
: 버튼을 눌렀을 때 ListView1ColumnClick 이벤트를 실행 시키려고 합니다.
:
: void __fastcall TForm1::FormCreate(TObject *Sender)
: {
: ListView1->Column[0]->Width;
:
: SysHdr32Handle = GetWindow(ListView1->Handle , GW_CHILD);
: SysHdrProc=(FARPROC)SetWindowLong(SysHdr32Handle,GWL_WNDPROC,(long)SysHeader32WinProc);
: }
:
: LRESULT CALLBACK SysHeader32WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
: {
: if( message == WM_SETCURSOR )
: {
: message=0;
: return 0;
: }
: else if(message == WM_LBUTTONDBLCLK)
: {
: message=0;
: return 0;
: }
: else if(message == WM_MOUSEMOVE)
: {
: message=0;
: return 0;
: }
: //else if(
:
: return CallWindowProc(SysHdrProc, hWnd, message, wParam, lParam);
: }
:
: 이것까지는 소스에 추가해서 넣었는 데 정확히 어떤식으로 호출해야 하는지 모르겠습니다..
: 아시는 고수님 팁 좀 주세요ㅜㅜ
: 좋은 하루 보내시구요^^
|