關於屬性頁和屬性單的應用總結
1、屬性頁(cpropertypage)中獲取
(1) 程式主框架指標:cmainframe* pmainframe=(cmainframe*)afxgetmainwnd();
(2) 程式子框架指標:cchildframe* pframe=(cchildframe*)((cmainframe*)afxgetmainwnd())->getactiveframe();
(3) 程式活動文件指標:cemcdoc* m_pdoc=(cemcdoc*)pframe->getactivedocument(); //獲取活動的文件
(4) 屬性單(cpropertysheet)指標:cmypropertysheet* psheet=(cmypropertysheet*)this->getparent(); // 獲取cmypropertysheet指標
(5) 程式活動檢視指標:cemcview* pview=(cemcview*)pframe->getactiveview(); // 獲取活動檢視
2、在屬性單(cpropertysheet)單擊ok按鈕後,程式框架將逐個遍歷載入的cpropertypage(從getpage(0)~getpage(n-1)),查詢是否
有cpropertypage過載了onok(),若有則執行過載的**,否則執行預設的cpropertypage::onok()。
3、cpropertysheet和載入的cpropertypage通訊,可以在cpropertysheet中定義
cppagecontentmode* pcm=(cppagecontentmode*)this->getpage(0);
然後利用pcm操作cppagecontentmode中的成員變數。
也可以在cpropertypage中獲取cpropertysheet的指標。
4、兩個或多個載入的cpropertypage之間通訊,可以借助於cpropertysheet實現。
cpropertypage
*ppage;
ppage
=this
->
getpage(0);
//crect rectpage;
ppage
->
getwindowrect(
&rectpage);
cwnd
*pwndok
=getdlgitem(idok);
cwnd
*pwndcancel
=getdlgitem(idcancel);
crect rectok,rectcancel;
pwndok
->
getwindowrect(
&rectok);
pwndcancel
->
getwindowrect(
&rectcancel);
intbtncenter
=(rectcancel.right
-rectok.left)/2
; //
ok和cancel按鈕中軸線
intpagecenter
=(rectpage.right
-rectpage.left)/2
; //
屬性單的中軸線
intdist
=pagecenter
-btncenter;
rectok.left
+=dist;
rectok.right
+=dist;
rectcancel.left
+=dist;
rectcancel.right
+=dist;
screentoclient(
&rectok);
screentoclient(
&rectcancel);
pwndok
->
movewindow(
&rectok);
pwndcancel
->
movewindow(
&rectcancel);
單頁應用和多頁應用
每一次頁面跳轉的時候,後台伺服器都會給返回乙個新的html文件,這種型別的 也就是多頁 也叫做多頁應用。為什麼多頁應用的首屏時間快?首屏時間叫做頁面首個螢幕的內容展現的時間,當我們訪問頁面的時候,伺服器返回乙個html,頁面就會展示出來,這個過程只經歷了乙個http請求,所以頁面展示的速度非常快。為...
關於類屬性和例項屬性
python果然是乙個優雅的語言,就連他的oop都做的那麼的優雅,呵呵不讚美了,說點實在的,關於類的屬性和例項的屬性,在python中應用一定要小心和謹慎,如果沒有明確的目的,不要去修改類屬性。類中定義的屬性,相當於靜態變數,用類名加句點訪問和用例項加句點訪問,都能獲取值。但是如果進行計算的話,用類...
單頁應用(SPA)和 多頁應用(MPA)
第一次進入頁面的時候會請求乙個html檔案,重新整理清除一下。切換到其他元件,此時路徑也相應變化,但是並沒有新的html檔案請求,頁面內容也變化了。原理 js會感知到url的變化,通過這一點,可以用js動態的將當前頁面的內容清除掉,然後將下乙個頁面的內容掛載到當前頁面上,這個時候的路由不是後端來做了...