9.3靜態類別:
在createwindow函式中指定視窗類別為「static」靜態類別還包括了視窗樣式ss_icon和ss_useritem,但是當它們被用作子視窗控制項時卻沒有任何意義。
在createwindow程式中指定視窗類別為「static」,您就可以建立靜態文字的子視窗控制項。這些子視窗非常「文靜」。它既不接收滑鼠或鍵盤輸入,也不向父視窗傳送wm_command訊息。
9.4滾動條類別:
視窗子類別化(window subclassing)
滾動條控制項的視窗訊息處理程式是windows內部的。但是,將gwl_wndproc識別符號作為引數來呼叫getwindowlong,您就可以得到這個視窗訊息處理程式的位址。
9.5編輯類別
傳送給編輯控制項的訊息:
sendmessage(hwndedit, wm_cut, 0, 0);
sendmessage(hwndedit, wm_copy, 0, 0);
sendmessage(hwndedit, wm_clear, 0, 0);
sendmessage(hwndedit, wm_paste, 0, 0);//將剪貼簿上的文字插入到編輯控制項中的游標位置
sendmessage(hwndedit, em_getsel, (wparam) &istart,(lparam) &iend);//取得目前選擇的起始位置和末尾位置
sendmessage(hwndedit, em_replacesel, 0, (lparam)szstring);//可以使用別的文本來置換目前的選擇內容
icount=sendmessage(hwndedit, em_getlinecount, 0, 0);//多行編輯控制項取得行數
ioffset=sendmessage(hwndedit, em_lineindex, iline, 0);//對任何特定的行,您可以取得距離編輯緩衝區文字開頭的偏移量
ilength=sendmessage(hwndedit, em_linelength, iline, 0);//行數從0開始計算,iline值為-1時傳回包含游標所在行的偏移量
9.6清單方塊類別
乙個清單方塊是字串的集合,這些字串是乙個矩形中可以捲動顯示的清單。
清單方塊樣式:
應該將「listbox」作為視窗類別,將ws_child作為視窗樣式。清單方塊樣式識別符號lbs_notify。lbs_multiplesel建立乙個多項選擇清單方塊
第九章 子視窗控制項part1
hwndparent getparent hwnd 子視窗訊息處理程式能確定其父視窗的視窗控制代碼,hwnd是子視窗的視窗控制代碼.如果想在您的電子 程式的某個角落放置乙個標有 recalculate 的按鈕,那麼您可以通過呼叫createwindow來建立這個按鈕。要做的只是攔截wm comman...
第九章 執行緒與核心物件的同步(2)
二 事件核心物件 事件核心物件是所有的核心物件中最基本的物件。包含乙個使用計數 與所有核心物件一樣 乙個用於指明該事件是自動重置的事件還是人工重置的事件的布林值。乙個用於指明該事件處於已通知狀態還是未通知狀態的布林值。事件核心物件的型別 人工重置的事件核心物件,事件得到通知時,等待該事件的所有執行緒...
第九章(2) 定義自己的事件 學習筆記
自定義事件的基本方法 1,建立乙個事件專用委託,此委託定義了事件響應方法的簽名。2,使用event關鍵字為物件定義乙個時間字段。3,在合適的地方激發事件。下面的例程是,每次單機從窗體的按鍵主窗體的會記錄單擊次數。從窗體 using system using system.collections.ge...