老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

wxWidgets第三課MSWWindowProc處理窗口消息

說明
??? wxwidgets為不少的非常重要的windows事件定義一個事件宏(例如EVT_PAINT),但是例如WM_NCHITTEST等消息沒有定義宏。為了處理某些特殊的窗口消息,需要在wxWindow的派生類中重寫(也叫覆蓋override)基類的虛函數MSWWindowProc(),通過判斷nMsg的參數值看看是否需要進行處理,否則看看是否需要調用基類的虛函數進行處理

成都創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于網站設計、成都網站制作、南陵網絡推廣、微信小程序定制開發、南陵網絡營銷、南陵企業策劃、南陵品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;成都創新互聯公司為所有大學生創業者提供南陵建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com

使用
??? 在前面的文章中描述到,對于WM_NCLBUTTONDOWN,WM_NCMOUSEMOVE這些消息沒有定義相關的EVT事件,所以如果需要對這些消息進行處理,就必須覆蓋掉基類的消息處理,當然在處理完成相應的事件,之后也可以調用父類的函數,將消息傳遞下去

例子
class CDownLinkDataPlayBack:public wxPanel
{
protected:
virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam);
}
WXLRESULT CDownLinkDataPlayBack::MSWWindowProc( WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam )
{
if ( nMsg == WM_NCLBUTTONDOWN )
{
wxPoint pos = GetPosition();
m_orignalRectHeight = pos.y;
wxSize size = GetSize();
wxPoint pt = ClientToScreen(GetPosition());
m_ncMouseDownX = pt.x;
m_ncMouseDownY = pt.y;
m_curWindowStartX = pt.x - size.x;
m_curWindowStartY = pt.y - size.y;
}
if (nMsg == WM_NCMOUSEMOVE)
{
wxPoint pt = ClientToScreen(GetPosition());
m_ncMouseMoveX = pt.x;
m_ncMouseMoveY = pt.y;

wxScreenDC dc;
dc.SetPen(wxPen(*wxBLACK, 2, wxSOLID));
//dc.SetBrush(*wxTRANSPARENT_BRUSH);
dc.SetBrush(wxBrush(*wxBLACK));
wxSize size(30, m_orignalRectHeight);
wxPoint p(m_ncMouseDownX, m_ncMouseDownY);
//wxRect rect(wxPoint(m_curWindowStartX, m_curWindowStartY), size);
wxRect rect(wxPoint(0, 0), wxSize(300, 1400));
dc.DrawRectangle(rect);

WXHWND hwd = GetHWND();
RECT rect2;
wxRect rect3 = GetClientRect();
rect2.left = rect3.GetLeft();
rect2.top? = rect3.GetTop();
rect2.right = rect3.GetRight();
rect2.bottom = rect3.GetBottom();
ValidateRect(hwd, &rect2);

}
return wxPanel::MSWWindowProc(nMsg, wParam, lParam);
}

一些基本的事件宏定義說明
??? 為一個窗口定義一系列的特定情況的事件列表,例如定時器,渲染,空閑處理等等

例子
#include "wx/event.h"

類添加聲明事件列表宏
private:
DECLARE_EVENT_TABLE()

類外添加事件列表定義宏
BEGIN_EVENT_TABLE(CFlightInstrumentPanel, wxPanel)
EVT_MOTION(CFlightInstrumentPanel::OnMotion)
EVT_PAINT(CFlightInstrumentPanel::OnPaint)
EVT_TIMER(TIMER_ID, CFlightInstrumentPanel::OnTimer)
EVT_IDLE(CFlightInstrumentPanel::OnIdle)
END_EVENT_TABLE()

說明:CFlightInstrumentPanel繼承wxPanel,至于添加的事件函數的具體內容,稍后進行描述

wxIdleEvent 空閑事件處理說明
??? 當沒有消息需要處理的情況下,可以通過定義OnIdle事件處理消息函數,來達到充分利用CPU的目的。當用戶鼠標按下,執行大量的渲染,可能會出現屏幕的卡頓,如果讓OnIdle函數處理,就可以避免出現這個問題

例子

#include "wx/event.h"

void OnIdle(wxIdleEvent& event);

EVT_IDLE(CFlightInstrumentPanel::OnIdle)

void CFlightInstrumentPanel::OnIdle( wxIdleEvent& event )
{
?static int x = 0;
?if (x<1000)
?{
??wxClientDC dc(this);
??wxPen pen(*wxRED,1);
??dc.SetPen(pen);
??dc.DrawRectangle(x, 0, 200, 300);
??dc.SetPen(wxNullPen);
??x=x+100;
?}
?event.Skip();
}

缺點:不是一個定時器,而且只是在消息循環體中沒有任何消息的情況下,執行該事件


網站題目:wxWidgets第三課MSWWindowProc處理窗口消息
文章網址:http://www.xueling.net.cn/article/ipsgsh.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产一区福利在线 | 高清一区二区三区视频 | 亚洲一区二区欧美日韩 | 日本一区二区三区不卡免费 | 337p粉嫩日本欧洲亚福利 | 国产精品成人观看视频免费 | 国产精品一区二区在线观看99 | 精品久久久久久中文字幕动漫 | 给我免费的视频在线观看 | 99热这里只有精品8 久久国产激情视频 | 久久综合中文 | 免费观看很黄很色裸乳视频网站 | 狠狠色噜噜狠狠狠狠色综合久AV | 把腿张开老子CAO烂你动态图 | 一级毛片免费视频观看 | 国产精品宾馆在线精品酒店 | 含着两个雪乳上下晃动人妻 | 精品国产福利在线观看网址 | 国产XXXX做受视频 | 亚洲午夜无码毛片AV久久小说 | 国产真实生活伦对白 | 亚洲一区二区三区香蕉 | 黑人巨茎精品欧美一区二区 | 亚洲欧洲无码在线观看 | 大地资源网高清在线播放 | 性饥渴艳妇性色生活片在线播放 | 国产精品爆乳在线播放第一人称 | av免费观看大全 | 日韩理论影院 | 亚洲精品国产乱码久久久1区 | 欧美亚洲国产成人一区二区三区 | 国产午夜片无码区在线观看 | 一本一本久久A久久精品综合不卡 | 37pao成人永久免费视频 | chinese性内射高清5 | 亚洲天堂av网 | 国产精品高清一区二区三区 | 欧美日韩中文字幕一区二区高清 | 在线视频精品一区 | 亚洲日产精品一二三四区新增区域 | 国产又黄又硬又粗 |