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

請問如何把視窗固定(無法移動)

答題得分者是:syntax
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-08 17:34:18 IP:140.113.xxx.xxx 訂閱
我在開啟一個應用程式後,將他移動到我想要的地方後,便不想再移動它
( 用滑鼠去拖曳應用程式視窗上方的 bar 無效 )。因為我只有 hwnd,所以
想請問有什麼函式可以達到這個目的。搜尋標題為固定視窗,有看到一個
叫做 SetWindowLong,去查了一下該使用哪個常數來固定,不過沒找著,
所以也不確定是不是用這個。

謝謝大家
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-08 17:56:17 IP:123.193.xxx.xxx 訂閱
處理滑鼠在Non-Client Area的訊息, 看看可不可以?

http://itzone.hk/article/article.php?aid=200406211237373460
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-08 18:24:29 IP:140.113.xxx.xxx 訂閱
因為我是把應用程式嵌入在我自己建立的 FORM 當中 ( 開啟應用程式,移動到 FORM 裡頭 )

因此我希望在應用程式(例如小算盤),移動到我指定的 FORM 內之後( 當然我有去 SetParent )

便希望這個小算盤不會再被我點藍色 bar 移動。

所以應該不是 non-client area ?!
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-08 19:51:20 IP:123.193.xxx.xxx 訂閱
你所謂的內崁其實只是兩個應用程式疊覆在一起, 頂多其中一個應
用程式的Parent設定成另一個, 在COM/DCOM的實際應用中所說的
內崁又是另外一回事.

你可以試試如何Disable Mouse在小算盤 Non-Client Area(藍色 bar )產生作用.
或在你的應用程式被Resize 或 Move時, 再去設定小算盤的位置(SetBounsRect),
這種做法我沒試過, 只是提供一些想法而已.

===================引 用 linly 文 章===================
因為我是把應用程式嵌入在我自己建立的 FORM 當中 ( 開啟應用程式,移動到 FORM 裡頭 )

因此我希望在應用程式(例如小算盤),移動到我指定的 FORM 內之後( 當然我有去 SetParent )

便希望這個小算盤不會再被我點藍色 bar 移動。

所以應該不是 non-client area ?!
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-09 21:05:00 IP:140.113.xxx.xxx 訂閱
是不是有什麼方式可以在當我去點那個被我嵌進來的應用程式的同時(例如拖藍色的bar、按下縮小、最大化、關閉)
的時候接收到他的訊息,像是 HOOK 之類的,有沒有強者可以提供一下這方面的知識。或者可以說是怎麼把一個已
存在的應用程式,去 disable 它的功能!!!!

謝謝 :)

===================引 用 jow 文 章===================
你所謂的內崁其實只是兩個應用程式疊覆在一起, 頂多其中一個應
用程式的Parent設定成另一個, 在COM/DCOM的實際應用中所說的
內崁又是另外一回事.

你可以試試如何Disable Mouse在小算盤 Non-Client Area(藍色 bar )產生作用.
或在你的應用程式被Resize 或 Move時, 再去設定小算盤的位置(SetBounsRect),
這種做法我沒試過, 只是提供一些想法而已.

===================引 用 linly 文 章===================
因為我是把應用程式嵌入在我自己建立的 FORM 當中 ( 開啟應用程式,移動到 FORM 裡頭 )

因此我希望在應用程式(例如小算盤),移動到我指定的 FORM 內之後( 當然我有去 SetParent )

便希望這個小算盤不會再被我點藍色 bar 移動。

所以應該不是 non-client area ?!
syntax
尊榮會員


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

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-10-10 12:28:25 IP:61.64.xxx.xxx 訂閱
  1. 建立應用程式
  2. 設定成無 Bar 的格式 (方式可用 Message,請自己做一下功課)
  3. SetParent (方式可用 Message,請自己做一下功課)
  4. 設定位置 (方式可用 Message,請自己做一下功課)
  5. 就無人可以拖曳

===================引 用 linly 文 章===================
因為我是把應用程式嵌入在我自己建立的 FORM 當中 ( 開啟應用程式,移動到 FORM 裡頭 )

因此我希望在應用程式(例如小算盤),移動到我指定的 FORM 內之後( 當然我有去 SetParent )

便希望這個小算盤不會再被我點藍色 bar 移動。

所以應該不是 non-client area ?!
57605993
一般會員


發表:2
回覆:8
積分:2
註冊:2007-10-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-10-10 13:05:39 IP:220.178.xxx.xxx 訂閱
不知道这样可不可以:
自定义过程:
procedure mymsg(var msg:Twmnchittest);message wm_nchittest;
begin
inherited;
if (msg.result=htcaption) then
msg.result:=htclient;
end;

------
新手。。
linly
一般會員


發表:42
回覆:37
積分:15
註冊:2007-10-07

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-10-10 22:18:15 IP:140.113.xxx.xxx 訂閱
首先,謝謝你的建議。

不過我想請問一下,你在括號所說的 --> (使用 Message )

使用 Message 的意思是!? 呼叫API? 攔截訊息?!不好意思,不太了解括號的意思

還請見諒 >"<

===================引 用 syntax 文 章===================
  1. 建立應用程式
  2. 設定成無 Bar 的格式 (方式可用 Message,請自己做一下功課)
  3. SetParent (方式可用 Message,請自己做一下功課)
  4. 設定位置 (方式可用 Message,請自己做一下功課)
  5. 就無人可以拖曳

===================引 用 linly 文 章===================
因為我是把應用程式嵌入在我自己建立的 FORM 當中 ( 開啟應用程式,移動到 FORM 裡頭 )

因此我希望在應用程式(例如小算盤),移動到我指定的 FORM 內之後( 當然我有去 SetParent )

便希望這個小算盤不會再被我點藍色 bar 移動。

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