六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

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

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

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

  unitUnit1;

  :

  type

  TForm1Κclass(TForm)

  procedureFormCreate(Sender:TObject);

  :

  public

  {申明消息過濾過程}

  procedureAppMessage(varMsg:TMsg;varHandled
:Boolean);

  :

  implementation

  procedureTForm1.FormCreate(Sender:TObject)


  begin

  {捕捉消息:將程序的收到消息事件與消息過濾過程
關聯起來}

  Application.OnMessage:ΚAppMessage;

  end;

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

  begin

  {如果鼠標左鍵按下的話}

  ifMsg.messageΚWM—LButtonDownthen

  begin

  {判斷光標是否在用戶工作區內}

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

  begin

  {發出鼠標在用戶標題欄內被按下的消息}

  SendMessage(Handle,WM—NCLButtonDown,

  HTCaption,GetMessagePos);

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

  end;

  end;

  end;

  end.

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


主站蜘蛛池模板: 特黄特a级特别特级特毛片 特黄视频免费看 | 最近在线观看免费完整视频 | 中文字幕亚洲自拍 | 日韩大片在线 | 日韩18| 人人澡人摸人人爽歪歪 | 亚洲国产高清在线 | 欧美一区二区三区不卡 | 小视频在线观看免费 | 亚洲成人精品 | 亚洲综合自拍 | 青青草原在线 | 在线观看亚洲视频 | 永久毛片 | 色妞精品一区二区 | 婷婷97狠狠的狠狠的爱 | 日韩毛片在线免费观看 | 五月香福利 | 日本成人在线看 | 十八禁毛片 | 亚洲国产精品久久久天堂麻豆 | 天天干天天色天天射 | 日韩一 | 色资源网 | 人人狠狠综合88综合久久 | 亚洲春色第一页 | 日韩国产有码在线观看视频 | 亚洲综合自拍 | 亚洲视频在线免费观看 | 欧美亚洲性色影视在线 | 午夜影院在线播放 | 青青国产线免观看手机版精品 | 日本综合欧美一区二区三区 | 午夜黄大色黄大片美女图片 | 伊人免费在线观看高清版 | 四虎永久在线观看 | 视频二区日韩 | 在线免费看污视频 | 亚洲a人片在线观看网址 | 在线观看欧美日韩 | 一二三四视频社区在线网 |