從外部視窗拖曳檔案到 Form中的原件 |
缺席
|
ahapro
一般會員 發表:4 回覆:2 積分:1 註冊:2007-12-27 發送簡訊給我 |
各位好
關於拖曳檔案至Form(或原件)中 我已參考 : http://delphi.ktop.com.tw/board.php?cid=168&fid=914&tid=40768 我公司的BCB版本為 5.0,在WinXP SP2上運行 不過只有方法2(拖曳至整個Form)可行 至於拖曳到特定元件,Ex : CheckListBox 雖然可通過Compiler,但是執行時,連程式視窗都還沒開啟,便發生了"Stack over flow",自動關閉程式 請問,我所使用的元件"CheckListBox"是否有其限制,或是需要特別的設定!! 我的程式碼如下 [code cpp] class TMainForm: public TForm { //... TCheckListBox *IRCCCheckListBox; //... public: void __fastcall m_ComponentWndProc(TMessage& Message); }; __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { IRCCCheckListBox->WindowProc = m_ComponentWndProc; } void __fastcall TMainForm::FormCreate(TObject *Sender) { DragAcceptFiles(IRCCCheckListBox->Handle,true); } void __fastcall TMainForm::m_ComponentWndProc(TMessage& Message) { if (Message.Msg == WM_DROPFILES ) { DWORD nFileNameSize=DragQueryFile( (HDROP)Message.WParam,0,NULL,0); char * pcFileName=new char[nFileNameSize 1]; DragQueryFile((HDROP)Message.WParam,0,pcFileName,nFileNameSize 1); //....... delete [] pcFileName; } WndProc(Message); //請問可以這樣使用嗎?? 或是不呼叫?? //(Component)->WndProc(Message); //IRCCCheckListBox->WndProc(Message); 無法使用 //IRCCCheckListBox->WindowProc(Message); 只有這個可用,但是一樣會產生 Stack overflow } [/code] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |