談談WS EX CLIENTEDGE視窗風格

2021-06-26 04:41:50 字數 907 閱讀 5769

關於該風格要注意幾點的是:

ws_ex_clientedge視窗風格並不是對所有視窗都有效,只有視窗有客戶區的時候才有效,這樣當它用在比如button,combox,tab無客戶區的控制項時,它是無效的。

通過對話方塊模版建立的控制項listctrl,如果你指定了ws_border,這時ws_border將被拿掉,而ws_ex_clientedge會被設定上。但是如果你通過create手動建立則不會出現這種情況。

當ws_ex_clientedge設定上,在控制項邊緣和客戶區之間將有2個畫素大小的空隙,與其他做比較:ws_border,乙個畫素,ws_ex_windowedge為3個象素;ws_ex_staticedge為1個畫素,當ws_ex_clientedge|ws_ex_windowedge,有5個畫素,而ws_ex_clientedge|ws_ex_staticedge|ws_ex_staticedge還是5個畫素,說明有畫素重在一起的時候。

ws_ex_clientedge只在建立時設定有效,如果在建立之後設定,必須跟上另乙個引數,swp_drawframe或swp_framechanged,實際上這兩者值完全一樣。如下是通過create建立並新增ws_ex_clientedge風格的例子:

m_list.create(ws_child|ws_visible|lvs_report,crect(0,0,100,100),this,0);

m_list.modifystyleex(0,ws_ex_clientedge,swp_framechanged);

原因在於當新增ws_ex_clientedge實際上要重設客戶區大小才能起作用,而重設客戶區只能通過wm_nccalcsize來設定,但是這個訊息只有才建立時才會觸發,單純修改wgl_exstyle屬性並不會觸發,新增swp_framechanged正是為了觸發該訊息。

**

談談標頭檔案

標頭檔案為所有extern物件宣告,函式宣告以及inline函式 模板 定義提供了乙個集中的位置。1 標頭檔案提供了兩個保證 第一,保證所有檔案都包含同乙個 全域性物件 或函式的同乙份申明。同乙個物件只能有乙個定義,但是可以有多個宣告,如果在每個需要用到物件的地方都手動加上宣告,有可能出現有點地方宣...

談談考試系統

這幾天又在忙考試系統的事了,學校中總有那麼多得考試,每個學院的領導都希望實現學生無紙化考試,一來方便老師判卷的同時,也鍛鍊了學生計算機的能力,同時對大學老師教學有乙個督促的作用。我們的考試系統有很多的不足之處,我們一直都在不斷的改進和完善。考試系統最初是由李雪宇學姐做的,現在看考試系統我總會不由得對...

談談PostThreadMessage使用

今天不csdn是怎麼了,又訪問不了了。第一年學習mfc,使用多執行緒還算嫻熟。但一直卻不知道訊息佇列是基於執行緒的,可謂悲劇,說著都臉紅。今天有這麼乙個需求,多個工作執行緒在完成時需要寫日誌,該功能非必要功能,由於寫的量還是比較大,而且多個執行緒同時寫乙個檔案我也不知道會不會出問題,雖然現在我開20...