1建立應用的一般流程

2021-07-22 01:34:26 字數 2241 閱讀 3318

為應用分配乙個例項

新建視窗 (註冊視窗類及視窗過程、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 網表輸入 ...