請問如何把Excel的存檔功能取消 |
尚未結案
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
bass15
高階會員 發表:24 回覆:171 積分:119 註冊:2003-10-27 發送簡訊給我 |
另一個方法..你用CppWebBrowser元件開
請拉一個CppWebBrowser (在Internet那一頁)
void __fastcall TForm1::Button1Click(TObject *Sender) { //開啟檔案 CppWebBrowser1->Navigate(WideString("c:\\test.xls")); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { // 列印 TVariant OLEvar ; if(CppWebBrowser1->QueryStatusWB(OLECMDID_PRINTPREVIEW)==3) CppWebBrowser1->ExecWB(OLECMDID_PRINTPREVIEW, OLECMDEXECOPT_DODEFAULT,EmptyParam,EmptyParam); else { OLEvar = 0 ; try{ CppWebBrowser1->ExecWB ( OLECMDID_PRINT, OLECMDEXECOPT_PROMPTUSER,OLEvar, OLEvar ) ; }catch(...){} } } //---------------------------------------------------------------------------發表人 - bass15 於 2004/08/27 10:44:19 |
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
bass15
高階會員 發表:24 回覆:171 積分:119 註冊:2003-10-27 發送簡訊給我 |
void __fastcall TForm1::Button1Click(TObject *Sender) { //開啟檔案 CppWebBrowser1->Navigate(WideString("c:\\test.xls")); Button1->Enabled = false; //防止人家開第二次 } 或是 void __fastcall TForm1::Button1Click(TObject *Sender) { //開啟檔案 CppWebBrowser1->Navigate(WideString("c:\\test.xls")); CppWebBrowser1->Enabled = false; //防止人家修改 }發表人 - bass15 於 2004/08/27 13:56:38 |
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
當Button1按下時,它會問我要"開啟"還是"儲存"
這就像是瀏灠器在點選到檔案的URL時出現的那個畫面
與Button1的enable沒有關係 >> CppWebBrowser1->Enabled = false; //防止人家修改
這行可以鎖住資料了
但是上下左右的 Scroll Bar 也被鎖住了
有什麼方法可以移動觀看畫面的嗎
自己另外做一個 Scroll Bar 也沒有關係
只要可以看到想看的部份的資料就可以了 另一個問題
可以CppWebBrowser的大小不變但是將內容物(資料整個)放大縮小嗎?? 這麼多問題,真是麻煩你了
|
bass15
高階會員 發表:24 回覆:171 積分:119 註冊:2003-10-27 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
folkchen: 建議引用bass15的方式但玩一點點小把戲你試試看! .hpp private: // User declarations AnsiString SFile; .cpp void __fastcall TForm1::Button1Click(TObject *Sender) { if (OpenDialog1->Execute()) { if (SFile!= OpenDialog1->FileName) { SFile = OpenDialog1->FileName; SetFileAttributes( SFile.c_str(), // address of filename FILE_ATTRIBUTE_READONLY // address of attributes to set ); //開啟檔案 CppWebBrowser1->Navigate(WideString(SFile)); } } }Andy Chang
------
Andy Chang |
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
|
bass15
高階會員 發表:24 回覆:171 積分:119 註冊:2003-10-27 發送簡訊給我 |
|
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
引言: 請問你現在是用什麼方式開Excel阿.. 不然這樣咧..把複製的東西給清掉..拉一個timer元件.. 在開檔時把它Enable..用你提供的方式呀~~ CppWebBrowser1 但是一直會出現我上述的問題 Clip->Clear(); 這個方式雖然不是最好的方式 但也算是一個解決方案~~ 只要前面那個存檔訊息不出來應該就沒有太大的問題了 P.S:這個方法還是有個小漏洞,User另外開一個Excel再用拖曳的方式拉過去,還是會被複製走,只是想的到的人可能不多void __fastcall TForm1::Timer1Timer(TObject *Sender) { TClipboard* Clip = Clipboard(); if(Clip) Clip->Clear(); }把timer的Interval設小一點 |
folkchen
高階會員 發表:9 回覆:232 積分:173 註冊:2003-10-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |