程式間資料傳遞 |
答題得分者是:pceyes
|
pia011320
一般會員 發表:11 回覆:6 積分:3 註冊:2007-07-17 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
1.先學什麼是 Windows message 2.如何攔 Windows message 3.如何送 Windows message 再說 ===================引 用 pia011320 文 章=================== 程式A中的ListBox元件的Item裡有一行文字資料:"The world!!" 然後有另一個Butten元件,當按下該Butten,則該段文字"The world!!" 會出現在"執行中"程式B中的ListBox元件或是Memo元件裡 如果,我想讓該段文字出現在有文字游標的那個元件裡又該怎麼做? 使用什麼樣的函數或指令可以做到呢? 感謝各位前輩們抽空回答小弟的問題 |
pia011320
一般會員 發表:11 回覆:6 積分:3 註冊:2007-07-17 發送簡訊給我 |
感謝樓上的前輩為我解答
參考了這篇之後,我找到解答了 http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=77550 [code delphi] procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE; end; procedure TForm1.WndProc(var Message: TMessage); var r:TRect; begin if (Message.Msg =WM_MOVING) then begin r.Left :=0; r.Top :=0; r.Right:=0; r.Bottom:=0; r := TRect(Pointer(Message.LParam)^); Self.Left := r.Left; Self.Top := r.Top; end; inherited WndProc(Message); end; procedure TForm1.FormCreate(Sender: TObject); begin self.BorderStyle:=bsSingle; self.FormStyle:=fsStayOnTop; end; procedure TForm1.Button1Click(Sender: TObject); var s:String; begin //s:=Listbox1.Items.Text; //Showmessage(s); //S:=Memo1.Text; s:=Label1.Caption; SendKeys(Pchar(s), true); end; [/code] 不過現在衍生出新的問題: 當我想要傳送中文字串時,會顯示Invalid Key name 請問該如何解決才好? |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
SendKeys 並不適合傳中文(MultiByte)
建議先編碼,編碼方式很多,例如 轉成 BASE64 不然直接改 SendKeys 使其支援中文(MultiByte) ===================引 用 pia011320 文 章=================== 感謝樓上的前輩為我解答 參考了這篇之後,我找到解答了 http://delphi.ktop.com.tw/board.php?cid=30&fid=72&tid=77550 [code delphi] procedure TForm1.CreateParams(var Params: TCreateParams); begin inherited CreateParams(Params); Params.ExStyle := Params.ExStyle or WS_EX_NOACTIVATE; end; procedure TForm1.WndProc(var Message: TMessage); var r:TRect; begin if (Message.Msg =WM_MOVING) then begin r.Left :=0; r.Top :=0; r.Right:=0; r.Bottom:=0; r := TRect(Pointer(Message.LParam)^); Self.Left := r.Left; Self.Top := r.Top; end; inherited WndProc(Message); end; procedure TForm1.FormCreate(Sender: TObject); begin self.BorderStyle:=bsSingle; self.FormStyle:=fsStayOnTop; end; procedure TForm1.Button1Click(Sender: TObject); var s:String; begin //s:=Listbox1.Items.Text; //Showmessage(s); //S:=Memo1.Text; s:=Label1.Caption; SendKeys(Pchar(s), true); end; [/code] 不過現在衍生出新的問題: 當我想要傳送中文字串時,會顯示Invalid Key name 請問該如何解決才好? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |