為應用分配乙個例項
新建視窗 (註冊視窗類及視窗過程、create視窗)
視窗配置(去掉標題欄,設定位置及大小)
展示視窗
訊息迴圈
cpaintmanagerui::setinstance(hinstance); //設定例項物件,對應於應用例項
cpaintmanagerui::setresourcepath(cpaintmanagerui::getinstancepath()); //資源路徑(、文字等)
mainframe* pframe = new mainframe();
其中create()在cwindowwnd實現,其註冊視窗類,並呼叫系統的createwindowex()建立視窗。
hwnd cwindowwnd::create(hwnd hwndparent, lpctstr pstrname, dword dwstyle, dword dwexstyle, int x, int y, int cx, int cy, hmenu hmenu)
bool cwindowwnd::registerwindowclass()
; wc.style = getclassstyle();
wc.cbcl***tra = 0;
wc.cbwndextra = 0;
wc.hicon = null;
wc.lpfnwndproc = cwindowwnd::__wndproc;
wc.hinstance = cpaintmanagerui::getinstance();
wc.hcursor = ::loadcursor(null, idc_arrow);
wc.hbrbackground = null;
wc.lpszmenuname = null;
wc.lpszclassname = getwindowclassname();
atom ret = ::registerclass(&wc);
assert(ret!=null || ::getlasterror()==error_class_already_exists);
return ret != null || ::getlasterror() == error_class_already_exists;
}
在視窗建立之前,即wm_nccreate訊息時,將cwindowwnd物件指標儲存在gwlp_userdata中,在處理其他訊息中,利用此分別呼叫不同視窗的處理函式:pthis->handlemessage(umsg, wparam, lparam)
繼承cwindowwnd的視窗可以通過實現handlemessage()函式從而個性化處理各種訊息。
lresult callback cwindowwnd::__wndproc(hwnd hwnd, uint umsg, wparam wparam, lparam lparam)
else
pthis->m_hwnd = null;
pthis->onfinalmessage(hwnd);
return lres;}}
if( pthis != null )
else
}
cpaintmanagerui::messageloop();
具體實現如下:
void cpaintmanagerui::messageloop()
; while( ::getmessage(&msg, null, 0, 0) )
catch(...) }}
}
後面會對訊息迴圈進行詳細解析,現在僅將cpaintmanagerui::translatemessage(&msg)函式的實現簡介如下:
bool cpaintmanagerui::translatemessage(const lpmsg pmsg)
將duilib中的 winmain 函式的主要內容貼上如下:
int apientry winmain(hinstance hinstance, hinstance /*hprevinstance*/, lpstr /*lpcmdline*/, int ncmdshow)
ThinkPHP建立應用的一般開發流程及例項
thinkphp是免費開源的php框架,提供了建站所需要的各種元件,方便使用者快速建設部署 thinkphp簡介 官方完全開發手冊 使用 thinkphp 建立應用的一般開發流程是 建立資料庫和資料表 沒有資料庫操作可略過 專案命名並建立專案入口檔案 完成專案配置 無需額外配置可以忽略 建立控制器類...
測試一般流程
目錄 一 測試準備階段 1.1 需求評審 1.2 測試計畫 1.3 測試用例 二 測試階段 2.1 開發自測 2.2 產品設計走查 2.3 測試接入測試 2.4 產品驗收階段 三 上線階段 3.1 與專案人員確認上線時間與策略 3.2 準備線上回歸的賬號,資料等 3.3 執行緊急回滾的策略 3.4開...
PADS LAYOUT的一般流程
1 概述 本文件的目的在於說明使用pads的印製板設計軟體powerpcb進行印製板設計的流程和一些注意事項,為乙個工作組的設計人員提供設計規 範,方便設計人員之間進行交流和相互檢查。2 設計流程 pcb的設計流程分為網表輸入 規則設定 元器件布局 佈線 檢查 複查 輸出六個步驟.2.1 網表輸入 ...