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

关于HTNOWHERE在Comctrls和windows中不同的定义

尚未結案
gyao
一般會員


發表:5
回覆:8
積分:7
註冊:2005-02-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-29 09:47:41 IP:208.22.xxx.xxx 未訂閱
遇到这样的一个问题,希望各位能够提供些指点: 我需要限制窗体的移动,所以使用了如下的代码:
uses
  Windows, Messages, ShellAPI, SysUtils, Variants, Classes, Graphics, SyncObjs, 
  Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Buttons, ComCtrls, 
...............
.........
procedure TForm_Main.WmNCHitTest(var Msg : TWMNCHitTest);
begin
    DefaultHandler(Msg);
    if FormPopMenu_Lock.Checked=True then
    begin
        if Msg.Result=HTCAPTION then
            Msg.Result := HTNOWHERE;  // Dont move the window
    end;
    
end;
但是编译的时候总是提示Error:[Error] UnitMain.pas(4130): Incompatible types: 'Integer' and 'THitTest'。 根据提示此时的常数HTNOWHERE是由ComCtrls提供,为THitTest类型;而msg.result似乎是Integer类型,所以提示错误。但是后来我发现在windows.pas里也有一个HTNOWHERE的常数定义,所以我在use单元里把cComctrls移动到windows的前面,error就不在提示了。 想请教各位,这是delphi的bug么?还是我使用上有什么问题?我是个delphi的初学者,麻烦各位大人指教。多谢。 btw:为了实现我限制窗体移动的目的,此处是否应该写HTNOWHERE?还是HTCLIENT?我对这个的理解很肤浅。 發表人 - gyao 於 2005/03/29 13:06:41 發表人 - gyao 於 2005/03/29 13:16:38
gyao
一般會員


發表:5
回覆:8
積分:7
註冊:2005-02-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-29 13:03:52 IP:208.22.xxx.xxx 未訂閱
请教版主,不好意思,怎么我贴出的这个问题看不到呢?显示“转这个问题”??? 我勾选了“我使用(GB内码)发言,请系统帮我自动转码”。 發表人 - gyao 於 2005/03/29 13:15:35
gyao
一般會員


發表:5
回覆:8
積分:7
註冊:2005-02-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-29 13:19:16 IP:208.22.xxx.xxx 未訂閱
报告版主: 我取消了“我使用(GB内码)发言,请系统帮我自动转码”的勾选,显示就正常了。发言的页面是否有什么bug?
gyao
一般會員


發表:5
回覆:8
積分:7
註冊:2005-02-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-02 13:53:10 IP:63.161.xxx.xxx 未訂閱
是我问题贴错位置了么?还是问题太简单高手不愿意理睬?好失望,没人理我。如果贴错位置,麻烦版主帮忙移到正确的论坛行么?我不好重复发贴。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-02 14:37:52 IP:61.222.xxx.xxx 未訂閱
這個問題,實在有很多方式可以做到。 事實上,搜索一下就有很多關於這方面的答覆了。 http://delphi.ktop.com.tw/topic.php?topic_id=57571 參考一下。
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-02 14:44:12 IP:61.222.xxx.xxx 未訂閱
另外補充一點: 關於HTNOWHERE 應為 Windows.HTNOWHERE 而非 ComCtrls.HTNOWHERE 型態不同 一為整數 另一為THitTest的型別Type
gyao
一般會員


發表:5
回覆:8
積分:7
註冊:2005-02-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-06 13:24:17 IP:63.161.xxx.xxx 未訂閱
多谢多谢版主wameng。
系統時間:2024-11-28 0:39:13
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!