全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1101
推到 Plurk!
推到 Facebook!

程式間資料傳遞

答題得分者是:pceyes
pia011320
一般會員


發表:11
回覆:6
積分:3
註冊:2007-07-17

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-10-23 11:27:37 IP:140.128.xxx.xxx 訂閱


程式A中的ListBox元件的Item裡有一行文字資料:"The world!!"

然後有另一個Butten元件,當按下該Butten,則該段文字"The world!!"

會出現在"執行中"程式B中的ListBox元件或是Memo元件裡

如果,我想讓該段文字出現在有文字游標的那個元件裡又該怎麼做?

使用什麼樣的函數或指令可以做到呢?



感謝各位前輩們抽空回答小弟的問題
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-10-23 15:11:26 IP:118.231.xxx.xxx 訂閱

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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-10-29 12:26:18 IP:140.128.xxx.xxx 訂閱
感謝樓上的前輩為我解答

參考了這篇之後,我找到解答了
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-10-30 05:23:47 IP:220.141.xxx.xxx 訂閱
會員作品發表區(限本人創作發表) » 用Senderkey及Hook 作成的詞庫貼(附Source)
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=29551
------
努力會更接近成功
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-10-30 10:43:27 IP:59.125.xxx.xxx 訂閱
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

請問該如何解決才好?
系統時間:2024-05-07 23:58:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!