日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

用Delphi完成無邊界窗體的移動

用Delphi完成無邊界窗體的移動

更新時間:2022-04-29 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

在用Delphi制作Windows程序的窗體時,窗體的邊界有四種選擇:對話框式(bsDialog),
單邊固定式(bsSingle),雙邊可變式(bsSizeable),無邊界式(bsNone)。當(dāng)設(shè)置為
bsNone時,窗體也就沒有標(biāo)題條,很顯然,程序運行以后就無法移動窗體了。事實上,無邊界
窗體是很有用的,例如,象Word里面的浮動式工具箱其實就是無邊界窗體,它可以大大節(jié)約屏
幕空間。那么,如何用Delphi實現(xiàn)這個功能呢?顯然,這需要修改Windows的內(nèi)部消息,也就
是說,需要把“MouseDownonForm”這個消息改為“MouseDownonCaption”,這其中有三個關(guān)鍵:
捕捉MouseDown消息、判斷光標(biāo)位置、發(fā)送MouseDown消息。如果光標(biāo)在窗體中,則發(fā)送
MouseDownonCaption消息。

  在Delphi的對象巡檢器中列出的所有事件是不能捕捉到Windows消息的,因為這些都是已
經(jīng)發(fā)出的消息,無法修改了。捕捉Windows消息有兩種辦法:一個就是增加一個消息處理句
柄,直接處理Windows消息;另一個是對消息進(jìn)行過濾,濾出所需消息。第二個辦法比較常用,
適用于各種情況,下面就是移動無邊界窗體程序片斷,加注釋部分是手動加入的:

  unitUnit1;

  :

  type

  TForm1Κclass(TForm)

  procedureFormCreate(Sender:TObject);

  :

  public

  {申明消息過濾過程}

  procedureAppMessage(varMsg:TMsg;varHandled
:Boolean);

  :

  implementation

  procedureTForm1.FormCreate(Sender:TObject)


  begin

  {捕捉消息:將程序的收到消息事件與消息過濾過程
關(guān)聯(lián)起來}

  Application.OnMessage:ΚAppMessage;

  end;

  procedureTForm1.AppMessage(varMsg:TMsg;var
Handled:Boolean);

  begin

  {如果鼠標(biāo)左鍵按下的話}

  ifMsg.messageΚWM—LButtonDownthen

  begin

  {判斷光標(biāo)是否在用戶工作區(qū)內(nèi)}

  ifDefWindowProc(Handle,WM—NCHitTest,0,Get
MessagePos)ΚHTClientthen

  begin

  {發(fā)出鼠標(biāo)在用戶標(biāo)題欄內(nèi)被按下的消息}

  SendMessage(Handle,WM—NCLButtonDown,

  HTCaption,GetMessagePos);

  Handled:Κtrue;{消息處理完畢,窗體不再接受M
ouseDown及Click事件,如果為false,程序的運行稍微有
些不正常。}

  end;

  end;

  end;

  end.

  程序在Delphi1.0、中文Windows3.2下運行通過。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 亚洲国产精品第一区二区 | 国产caoni111在线观看视频 | 成人欧美午夜视频毛片 | 日本欧美成| 99九色| 国产日韩欧美高清 | 国产精品99久久久久久夜夜嗨 | 91香蕉国产在线观看人员 | 香蕉网站狼人久久五月亭亭 | 亚洲香蕉视频 | 日日摸夜夜爽久久综合 | 国产一线大片免费观看 | 国产精品免费看久久久香蕉 | 久热精品6 | 91在线免费视频观看 | 91短视频网址 | 亚洲国产另类久久久精品小说 | 免费高清毛片天天看 | 日韩欧美成人乱码一在线 | 99热这里都是国产精品 | 欧美曰韩免费视频一区 | 婷婷综合亚洲 | 缴情啪啪三级小说网 | 国产鲁鲁视频在线观看免费 | 亚洲最色 | 国产精品久久久久一区二区 | 国产精品久久久久天天影视 | 夜夜操夜夜 | 日本高清免费xxx在线观看 | 女人被男人扒开狂躁 | 欧美精品在线一区 | 91高清免费国产自产拍2021 | 国产精品久久久久国产精品三级 | 国产亚洲高清不卡在线观看 | 久久99国产精品成人欧美 | 国产精品成人扳一级aa毛片 | 国产成人亚洲综合在线 | 国产免费69成人精品视频 | 色婷婷狠狠干 | 5g天天爽 | 中文字幕无线码一区二区三区 |