線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1436
推到 Plurk!
推到 Facebook!

句柄转为窗体?

答題得分者是:小傑克
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-05-19 10:19:30 IP:218.80.xxx.xxx 訂閱
我是想先得到鼠标所在的当前窗体的句柄后,震动当前窗体,得到句柄和振动窗体代码都写好了  ,就不知道改怎么把句柄转窗体
[code delphi]
var
AWnd: hWnd;i:Integer;
begin
AWnd := GetForegroundWindow;
for I := 0 to 4 do begin
Self.Top := Self.Top - 3; Sleep(40);
Self.Left := Self.Left - 3; Sleep(40);
Self.Top := Self.Top 3; Sleep(40);
Self.Left := Self.Left 3; Sleep(40);
end;
[/code]
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
編輯記錄
zhouying82 重新編輯於 2009-05-19 10:21:13, 註解 無‧
tengco
一般會員


發表:4
回覆:10
積分:12
註冊:2006-12-19

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-05-20 11:06:35 IP:119.122.xxx.xxx 未訂閱
在SetWindowPos傳入您的句柄能解決您的問題?
------
Love life,Love ktop.
zhouying82
高階會員


發表:150
回覆:272
積分:189
註冊:2004-03-16

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-05-20 13:36:24 IP:218.80.xxx.xxx 訂閱
回大大啊,不行啊,这个函数不能实现相关的用途,我查了下网络,好像有人说用FindControl函数,但是我用不大来。有知道的大大吗?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi !
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-05-20 14:56:21 IP:59.112.xxx.xxx 訂閱
"句柄" 是什麼?

如果要搖視窗就用你寫的那個內容就可以阿

procedure ShockWin(Sender: TForm);
var i:Integer;
begin
for I := 0 to 4 do
begin
Sender.Top := Sender.Top - 3; Sleep(40);
Sender.Left := Sender.Left - 3; Sleep(40);
Sender.Top := Sender.Top 3; Sleep(40);
Sender.Left := Sender.Left 3; Sleep(40);
end;
end;

procedure TForm1.Button5Click(Sender: TObject);
begin
ShockWin(Form1);
end;
------
額有朝天骨,眼中有靈光
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2009-05-21 11:00:36 IP:59.112.xxx.xxx 訂閱
我覺得搖別人的視窗不是一件好事....太沒禮貌了, 但...不是做不到

別人的視窗當然不能用 delphi 的top, left 來控制,要透過windows api
[code delphi]
var hand:HWND;
r:TRect;
i:integer;
begin
hand := GetForegroundWindow;
GetWindowRect(hand , r );
for i := 0 to 4 do
begin
MoveWindow(hand,r.Left,r.Top -3,r.Right-r.Left,r.Bottom-r.Top,true ); sleep(40);
MoveWindow(hand,r.Left-3,r.Top ,r.Right-r.Left,r.Bottom-r.Top,true ); sleep(40);
MoveWindow(hand,r.Left,r.Top 3,r.Right-r.Left,r.Bottom-r.Top,true ); sleep(40);
MoveWindow(hand,r.Left 3,r.Top ,r.Right-r.Left,r.Bottom-r.Top,true ); sleep(40);
end;
[/code]
------
額有朝天骨,眼中有靈光
Coffee
版主


發表:31
回覆:878
積分:561
註冊:2006-11-15

發送簡訊給我
#6 引用回覆 回覆 發表時間:2009-05-21 13:44:08 IP:59.124.xxx.xxx 訂閱
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。
為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。
在引述到我的文時自然會儘量替各位想辦法,謝謝大家!
編輯記錄
Coffee 重新編輯於 2009-05-21 13:44:34, 註解 無‧
系統時間:2024-04-26 19:17:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!