C++ Builder 中對listview模擬複製某個單元格的內容
實現listview的雙擊事件OnDblClick()新增如下程式碼:
方法一:
POINT ptt;
GetCursorPos(&ptt); //獲取螢幕相對座標
long nPos = ptt.x; //獲取X軸長度
if( lv2->SelCount <= 0 ){ return; } //如果點選listview空白處之間返回
int nIndex = 0;//索引
long nTotal = lv2->Left+pnl2->Width+3;//計算螢幕座標距離左邊的長度作為初始值
for(int i=0;i<lv2->Columns->Count;i++)
{
TListColumn *pCol = lv2->Column[i];
if( pCol->Width == 1 )//主要針對listview第一列是checkbox
{
nTotal+= pCol->Width;
continue;
}
if( nPos > nTotal )
{
nTotal+= 1;//每2個格子之間的寬度算1
nTotal+= pCol->Width;
if( nTotal >= nPos )
{
int nTemp = nTotal-pCol->Width;
if( nPos >= nTemp+1 && nPos <= nTotal )
{
nIndex = i;
}
else
{
nIndex = i-1;
}
break;
}
}
}
nIndex = nIndex-1; //減掉第一列listview第一列是給checkbox預留的所以要從第二列開始算起
if( nIndex == -1 ) { return; }
String strValue = "";
try
{
strValue = lv2->Items->operator[](lv2->Selected->Index)->SubItems->Strings[nIndex];
}catch(...)
{
strValue="";
}
方法二:
int nIndex = 0;
TPoint Pos = lv2->ScreenToClient(Mouse->CursorPos);
Pos.x += GetScrollPos(lv2->Handle, SB_HORZ);
for(int i=0; i<lv2->Columns->Count; i++)
{
Pos.x -= ListView_GetColumnWidth(lv2->Handle, i);
if (Pos.x < 0)
{
nIndex = i;
break;
}
}
nIndex = nIndex-1; //減掉第一列listview第一列是給checkbox預留的所以要從第二列開始算起
if( nIndex == -1 ) { return; }
String strValue = "";
try
{
strValue = lv2->Items->operator[](lv2->Selected->Index)->SubItems->Strings[nIndex];
}catch(...)
{
strValue="";
}
Clipboard()->Clear();
Clipboard()->SetTextBuf(strValue.c_str());
最終將複製單元格的內容儲存到剪下板中,如果Clipboard報錯未定義,引入標頭檔案:#include <Vcl.Clipbrd.hpp>
lv2是listview控制元件的name。
相關文章
- 在excel中某些單元格內批量增加相同的內容Excel
- JavaScript合併表格中的內容相同的單元格JavaScript
- poi操作excel,複製sheet,複製行,複製單元格,複製styleExcel
- wps的excel中的單元格限定輸入的內容Excel
- JavaScript 獲取td單元格內容JavaScript
- elementui——表格的相同內容單元格合併UI
- word(2010)使用VBA完成批處理操作-批量清除表格某單元格內容
- 如何從 ABAP 偵錯程式裡提取某個內表的內容用於單元測試
- 如何讓excel單元格內只能輸入指定內容?Excel
- DataGridView設定單元格的提示內容ToolTip詳解View
- js點選複製內容JS
- 用C++模擬蚊子的運動來檢驗概率論內容C++
- java繼承——對物件中的重複內容說ByeJava繼承物件
- ABAP--一個讀取EXCEL單元格的內容超過256個字元的程式碼樣例Excel字元
- SpringBoot中的response和request模擬單元測試Spring Boot
- vxe-table 樹表格單元格選擇複製貼上
- QT之——QTableWidget拖拽單元格並替換內容(進階)QT
- 前端模擬使用者的複製操作前端
- docker 容器中單獨升級某個模組Docker
- js 實現點選複製內容JS
- css+js 設定網頁內容不可複製或可複製CSSJS網頁
- excel合併單元格快捷鍵 excel多個表格內容合併到一起Excel
- 用python寫一個指令碼,讀取srt檔案中的內容,並列印出重複的內容,且將不重複的內容儲存到新檔案中Python指令碼
- 通過生成內容和CSS網格佈局為空單元格新增樣式CSS
- springboot-實現excle檔案匯出的單元格相同內容合併Spring Boot
- vxe-table 樹結構單元格選取與複製貼上
- 單元測試模擬框架Mockito框架Mockito
- wps/excel計算單元格內的算式Excel
- Excel-單元格內換行Excel
- 左側導航click,右側內容scroll——一個模擬外賣點單的簡易頁面
- Golang 單元測試執行 _test.go 中的某個 func 方法Golang
- 詳解C++中繼承的基本內容C++中繼繼承
- ListView 與 RecyclerView 簡單對比View
- SEO如何減少網站複製重複內容過多的問題?網站
- C#將Excel檔案中選擇的內容,複製貼上到 winform datagridviewC#ExcelORMView
- Vue中配合clipboard.js實現點選按鈕複製內容VueJS
- 模擬積體電路設計系列部落格——9.4 ESD保護單元
- 1.我的第一個部落格內容
- 純CSS如何禁止使用者複製網頁的內容?CSS網頁