发布网友 发布时间:2024-10-24 01:23
共1个回答
热心网友 时间:2024-11-02 18:25
为了能够使窗口做得漂亮,同时使窗口中的标题、关闭按钮等用网页来模拟实现,这样就会使用TWebBrowser控件,同时使窗口的BorderStyle设置成了bsNone,这样窗口就没有标题栏了,也就无法使用普通的鼠标拖动标题栏来移动窗口了。具体代码如下:需要使用ApplicationEvent控件,截获其中的OnMessage方法:void __fastcall TfrmMessage::ApplicationEvents1Message(tagMSG &Msg, bool &Handled){if (Msg.message == WM_LBUTTONDOWN) {int nPosX = LOWORD(Msg.lParam);int nPosY = HIWORD(Msg.lParam);TPoint curPoint;curPoint.x = nPosX;curPoint.y = nPosY;ScreenToClient(curPoint);RECT rc;::SetRect(&rc, 0, 0, this->Width, m_titleHeight);if(PtInRect(&rc, curPoint)){//鼠标点击在标题内ReleaseCapture();SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0);Handled = true;return;}}}