動態TreeView顯示pdf的問題點??? |
答題得分者是:deity
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
各位大大你好
我有try過,直接用Pdf1->Loadfile("szFileName"),可是還是出現bug, 請問問題是出在那裡,我有點看不懂,我有把bug的畫面照出來,請看一下 檔案,可否為我解答一下 感恩
------
努力往往是甘苦的!!一起勉勵 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
Deity你好:
我有試把引號去掉,但還是一樣,除了Pdf1->Loadfile(szFileName) 還有另外的funion嗎?上面的寫法一樣還是會出現bug,我是有try 的寫下面的方法可是動態TreeView在子node會抓圖,但不同的node 都只會抓同一張pdf, [code cpp]
[/code] ps.sorry.因為我有用ppt的檔案上傳我的畫面,故我開新帖,回覆不能夾檔,~ 謝謝你的提醒,我以後會多加注意!
------
努力往往是甘苦的!!一起勉勵 |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
===================引 用 nokib2002 文 章=================== Deity你好: 我有試把引號去掉,但還是一樣,除了Pdf1->Loadfile(szFileName) 還有另外的funion嗎?上面的寫法一樣還是會出現bug,我是有try 的寫下面的方法可是動態TreeView在子node會抓圖,但不同的node 都只會抓同一張pdf, [code cpp] // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑. szFileName = "D:\\Thomas資料\\ST" szFileName; Service_1->Pdf1->src = Service_1->Opendialog1->FileName; 請在此區域輸入程式碼 [/code] ps.sorry.因為我有用ppt的檔案上傳我的畫面,故我開新帖,回覆不能夾檔,~ 謝謝你的提醒,我以後會多加注意!
------
努力往往是甘苦的!!一起勉勵 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
正是因为你用的是 Service_1->Pdf1->src = Service_1->Opendialog1->FileName;
读取的PDF文件仅仅是你openDialog打开的这张PDF。 你得用Service_1->Pdf1->src =szFileName; 整个代码写在TreeView的onchange事件上,试试。 // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑. szFileName = "D:\\Thomas資料\\ST" szFileName; // 看看有没有获取正确的PDF文档路径和文件名 showmessage(szFileName ); Service_1->Pdf1->src =szFileName ; ===================引 用 nokib2002 文 章=================== Deity你好: 我有試把引號去掉,但還是一樣,除了Pdf1->Loadfile(szFileName) 還有另外的funion嗎?上面的寫法一樣還是會出現bug,我是有try 的寫下面的方法可是動態TreeView在子node會抓圖,但不同的node 都只會抓同一張pdf, [code cpp] // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑. szFileName = "D:\\Thomas資料\\ST" szFileName; Service_1->Pdf1->src = Service_1->Opendialog1->FileName; 請在此區域輸入程式碼 [/code] ps.sorry.因為我有用ppt的檔案上傳我的畫面,故我開新帖,回覆不能夾檔,~ 謝謝你的提醒,我以後會多加注意! |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
Deity你好:
我有利用Service_1->Pdf1->src = szFileName; 的方式進行編譯 可以compilier過,可是抓不到圖,我推斷是沒有正確讀取到pdf檔 所以我改用之前Service_1->Pdf1->LoadFile(szFileName); 方式compiler 可是出現bug,內容說明參數型態的不一樣,我有找資料,好像是AnsiString 和WideString型態不一樣而造成的,bug如下,請問我要怎麼強制轉換型態 [C Error] Service.cpp(308): E2034 Cannot convert 'AnsiString' to 'wchar_t *' [C Error] Service.cpp(308): E2342 Type mismatch in parameter 'fileName' (wanted 'wchar_t *', got 'AnsiString') 另外謝謝你為我解答,我學到很多概念~ [code cpp] // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑 szFileName = "路徑" szFileName; ShowMessage(szFileName); // 載入圖片 Service_1->Pdf1->LoadFile(szFileName); 請在此區域輸入程式碼 [/code]
------
努力往往是甘苦的!!一起勉勵 |
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
Showmessage 的路徑是我原本設定的路徑.路徑是對的~ [code cpp] void __fastcall TService_1::TreeView1Change(TObject *Sender, TTreeNode *Node) { // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑 szFileName = "路徑" szFileName; ShowMessage(szFileName); // 載入圖片 Service_1->Pdf1->src = szFileName; //Service_1->OpenDialog4->FileName; } 請在此區域輸入程式碼 [/code] "D:\\Thomas資料\\ST標準工時\\" = 路徑 ===================引 用 deity 文 章=================== showmessage获取到的值正确吗?是不是你PDF档的路径加文件名?
------
努力往往是甘苦的!!一起勉勵
編輯記錄
nokib2002 重新編輯於 2010-12-08 17:29:50, 註解 無‧
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
应该让szFileName的值等于"D:\Thomas資料\ST標準工時\***.pdf"才能正确显示出来 。 ===================引 用 nokib2002 文 章=================== Showmessage 的路徑是我原本設定的路徑.路徑是對的~ [code cpp] void __fastcall TService_1::TreeView1Change(TObject *Sender, TTreeNode *Node) { // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑 szFileName ="路徑" szFileName; ShowMessage(szFileName); // 載入圖片 Service_1->Pdf1->src = szFileName; //Service_1->OpenDialog4->FileName; } 請在此區域輸入程式碼 [/code] "D:\\Thomas資料\\ST標準工時\\" = 路徑 ===================引 用 deity 文 章=================== showmessage获取到的值正确吗?是不是你PDF档的路径加文件名? |
nokib2002
一般會員 發表:22 回覆:48 積分:14 註冊:2009-08-09 發送簡訊給我 |
Deity大大你好: 我解出來了,謝謝你的大力協助,真的很謝謝你教我那麼多, 程式主要是要 "D:\\Thomas資料\\ST標準工時\\" szFileName ".pdf" ===================引 用 deity 文 章=================== 应该让szFileName的值等于"D:\Thomas資料\ST標準工時\***.pdf"才能正确显示出来 。 ===================引 用 nokib2002 文 章=================== Showmessage 的路徑是我原本設定的路徑.路徑是對的~ [code cpp] void __fastcall TService_1::TreeView1Change(TObject *Sender, TTreeNode *Node) { // 判斷是否有Child Nodes, 若有則不觸發事件. if (((TTreeView*)Sender)->Selected->Count) return; // 從選取的Node得知檔名 AnsiString szFileName = ((TTreeView*)Sender)->Selected->Text; // 得到圖的完整路徑 szFileName ="路徑" szFileName; ShowMessage(szFileName); // 載入圖片 Service_1->Pdf1->src = szFileName; //Service_1->OpenDialog4->FileName; } 請在此區域輸入程式碼 [/code] "D:\\Thomas資料\\ST標準工時\\" = 路徑 ===================引 用 deity 文 章=================== showmessage获取到的值正确吗?是不是你PDF档的路径加文件名?
------
努力往往是甘苦的!!一起勉勵 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |