wen142
一般會員
發表:22 回覆:27 積分:14 註冊:2004-06-30
發送簡訊給我
|
各位大大你們好
我想要請教一下
我想把TreeView用滑鼠點選之後可以開啟所點選的程式或是檔案
舉例來說 圖中我點選2.bmp
希望說可以在一旁的程式中立即開啟2.bmp的影像檔
不知道有沒有合適的判別方式
請各位大大提供意見
感恩唷 bcb新手上路 請多指教 發表人 - wen142 於 2004/12/10 21:35:00
|
Zard
尊榮會員
發表:24 回覆:396 積分:539 註冊:2003-11-26
發送簡訊給我
|
你可以在TreeView旁放一個TImage元件, 範例碼如下
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
Image1->AutoSize = TRUE;
}
//---------------------------------------------------------------------------
// 實作TreeView的OnClick事件
void __fastcall TForm1::TreeView1Click(TObject *Sender)
{
// 判斷是否有Child Nodes, 若有則不觸發事件.
if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名
AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text;
// 得到圖的完整路徑, 我不知道你怎麼得到路徑, 這邊你自己修改一下.
// szFileName = 路徑 szFileName;
// 載入圖片
Image1->Picture->LoadFromFile(szFileName);
}
//---------------------------------------------------------------------------
|
wen142
一般會員
發表:22 回覆:27 積分:14 註冊:2004-06-30
發送簡訊給我
|
Zard 大大
感謝您的回應
其實老實說~
您正點出我所遇到的問題
是否可以請教一下
如何從所點選的item
同時取得其上一層的item->text
若有辦法~~這問題就解決了 bcb新手上路 請多指教
|
Zard
尊榮會員
發表:24 回覆:396 積分:539 註冊:2003-11-26
發送簡訊給我
|
取得上層Text的方法我用紅字表示
//--------------------------------------------------------------------------- #include
#pragma hdrstop #include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//--------------------------------------------------------------------------- void __fastcall TForm1::TreeView1Click(TObject *Sender)
{
// 判斷是否有Child Nodes, 若有則不觸發事件.
if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名
AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text;
ShowMessage(szFileName);
AnsiString szParentName = (TTreeView*)Sender)->Selected->Parent->Text;
// 得到圖的完整路徑, 我不知道你怎麼得到路徑, 這邊你自己修改一下.
/// szFileName = 路徑 szFileName;
// 載入圖片
Image1->Picture->LoadFromFile(szFileName);
}
//---------------------------------------------------------------------------
|
wen142
一般會員
發表:22 回覆:27 積分:14 註冊:2004-06-30
發送簡訊給我
|
Zard 大大
再次感謝您的回應
多虧有您的拔刀相助
參考您的寫法後
我針對我程式的做了點修正~~
終於在這裡有了點小突破
十分感激喔~~
|