全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1245
推到 Plurk!
推到 Facebook!

想請教ListBox的使用

尚未結案
raistlinmiao
一般會員


發表:17
回覆:20
積分:12
註冊:2004-10-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-26 17:14:26 IP:163.28.xxx.xxx 未訂閱
我寫個程式 會使用到ListBox 我想請教各位先進兩個問題.. 1.如何Index某一行然後讓它在接受特定按鍵的時候有特定的事件發生 例如:選取某一行,按下鍵盤的delete,那行就會消失 2.如何在ListBox本身的某一行使用drag & drop然後次序互換 例如:1111 2222 3333 4444 將4444用滑鼠拖到1111上,結果變成 4444 1111 2222 3333 請各位指教,感激不盡
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-26 21:16:36 IP:211.76.xxx.xxx 未訂閱
第一個問題:
void __fastcall TForm1::ListBox1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if(Key==46)
   {
      ListBox1->DeleteSelected();
   }
}
參考http://www.iocomp.com/support/helpvcl/ioc01593.htm
GGL
資深會員


發表:104
回覆:600
積分:335
註冊:2006-11-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-26 21:25:45 IP:211.76.xxx.xxx 未訂閱
第二個問題:
void __fastcall TForm1::ListBox1DragDrop(TObject *Sender, TObject *Source,
      int X, int Y)
{
   TPoint p;
   int mIndex, mDropItem;
   String s;
   p.x= X;
   p.y= Y;
   // 原未被拖曳的位置index
   mDropItem= ListBox1->ItemIndex;
   // 最新拖曳的位置index
   mIndex= ListBox1->ItemAtPos(p, true);
   // 對調兩者
   if (mIndex >= 0)
   {
             s= ListBox1->Items->Strings[mDropItem];
             ListBox1->Items->Delete(mDropItem);
             ListBox1->Items->Insert(mIndex, s);
   }
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListBox1DragOver(TObject *Sender, TObject *Source,
      int X, int Y, TDragState State, bool &Accept)
{
   Accept=true;
}
//---------------------------------------------------------------------------
我是參考http://delphi.ktop.com.tw/topic.php?topic_id=30148 這篇是delphi的有些部分我不知道怎麼改,就照自己的意思改,如果程式有錯再提出來
raistlinmiao
一般會員


發表:17
回覆:20
積分:12
註冊:2004-10-22

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-27 11:38:50 IP:163.28.xxx.xxx 未訂閱
第一個問題解決了,第二個問題的code在執行上好像還是有些怪怪的 拖曳後不是對調,而是"新增一行",不過這我可以自行解決了, 感謝GGL大的賜教
系統時間:2024-11-23 22:01:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!