freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

攝像頭編程word版(編輯修改稿)

2024-09-17 22:43 本頁面
 

【文章內(nèi)容簡介】 們來說,句柄只是一個數(shù)值,但是對于系統(tǒng)來說句柄是一個資源的標(biāo)識,像編號一樣,用句柄就可以找到對應(yīng)的東西,有句柄就可以做很多XE的事了。API的參數(shù)中h開頭的參數(shù)就代表參數(shù)要提供一個句柄(handle)。這個就是匈牙利命名法了,類似的還有:lpsz(文本型:0結(jié)尾的字符串指針)Long 長 Pointer 指針 String字符串 Zero 零lpfn(整數(shù)型:函數(shù)(子程序)指針)lp同上,F(xiàn)unction 函數(shù)詳細(xì)可以看繼續(xù)介紹WNDCLASSEX結(jié)構(gòu),●hIcon——圖標(biāo)句柄,指定顯示在窗口標(biāo)題欄左上角的圖標(biāo)。Windows已經(jīng)預(yù)定義了一些圖標(biāo),同樣,程序也可以使用在資源文件中定義的圖標(biāo),這些圖標(biāo)的句柄可以用LoadIcon函數(shù)獲得。例子程序沒有用到圖標(biāo),所以Windows給窗口顯示了一個默認(rèn)的圖標(biāo)?!駂Cursor——光標(biāo)句柄,指定了鼠標(biāo)在窗口中的光標(biāo)形狀。同樣,Windows也預(yù)定義了一些光標(biāo),可以用LoadCursor獲取它們的句柄,IDC_ARROW是Windows預(yù)定義的箭頭光標(biāo),如果想使用自定義的光標(biāo),也可以自己在資源文件中定義?!駆pszMenuName——指定窗口上顯示的默認(rèn)菜單,它指向一個字符串,描述資源文件中菜單的名稱,如果資源文件中菜單是用數(shù)值定義的,那么這里使用菜單資源的數(shù)值。窗口中的菜單也可以在建立窗口函數(shù)CreateWindowEx的參數(shù)中指定。如果在兩個地方都沒有指定,那么建立的窗口上就沒有菜單?!駂Instance——指定要注冊的窗口類屬于哪個模塊,模塊句柄在程序開始的地方已經(jīng)用GetModuleHandle函數(shù)獲得?!馽bSize——指定WNDCLASSEX結(jié)構(gòu)的長度,用sizeof偽操作來獲取。很多Win32 API參數(shù)中的結(jié)構(gòu)都有cbSize字段,它主要是用來區(qū)分結(jié)構(gòu)的版本,當(dāng)以后新增了一個字段時,cbSize就相應(yīng)增大,如果調(diào)用的時候cbSize還是老的長度,表示運行的是基于舊結(jié)構(gòu)的程序,這樣可以防止使用無效的字段。●style——窗口風(fēng)格。CS_HREDRAW和CS_VREDRAW表示窗口的寬度或高度改變時是否重畫窗口。比較重要的是CS_DBLCLKS風(fēng)格,指定了它,Windows才會把在窗口中快速兩次單擊鼠標(biāo)的行為翻譯成雙擊消息WM_LBUTTONDBLCLK發(fā)給窗口過程。筆者就曾經(jīng)忘了指定它,結(jié)果怎么也搞不出雙擊消息來?!駂brBackground——窗口客戶區(qū)的背景色。前面的hbr表示它是一個刷子(Brush)的句柄,“刷子”一詞形象地表示了填充一個區(qū)域的著色模式。Windows預(yù)定義了一些刷子,如BLACK_BRUSH和WHITE_BRUSH等,可以用下列語句來得到它們的句柄: =GetObjectStock (WHITE_BRUSH)但在這里也可以使用顏色值,Windows已經(jīng)預(yù)定義了一些顏色值,分別對應(yīng)窗口各部分的顏色,如COLOR_BACKGROUND,COLOR_HIGHLIGHT,COLOR_MENU和COLOR_WINDOW等,使用顏色值的時候,Windows規(guī)定必須在顏色值上加1,所以程序中的指令是: = COLOR_WINDOW + 1●lpszClassName——指定程序員要建立的類命名,以便以后用這個名稱來引用它。這個字段是一個字符串指針,在程序里,它指向“MyClass”字符串?!馽bWndExtra和cbClsExtra——分別是在Windows內(nèi)部保存的窗口結(jié)構(gòu)和類結(jié)構(gòu)中給程序員預(yù)留的空間大小,用來存放自定義數(shù)據(jù),它們的單位是字節(jié)。不使用自定義數(shù)據(jù)的話,這兩個字段就是0。●lpfnWndProc——最重要的參數(shù),它指定了基于這個類建立的窗口的窗口過程地址。通過這個參數(shù),Windows就知道了在DispatchMessage函數(shù)中把窗口消息發(fā)到哪里去,一個窗口過程可以為多個窗口服務(wù),只要這些窗口是基于同一個窗口類建立的。Windows中不同應(yīng)用程序中的按鈕和文本框的行為都是一樣的,就是因為它們是基于相同的Windows預(yù)定義類建立的,它們背后的窗口過程其實是同一段代碼。結(jié)構(gòu)中的style表示窗口的風(fēng)格,Windows已經(jīng)有一些預(yù)定義的值,它們是以CS(Class Style的縮寫)開始的標(biāo)識符。一些窗口類的style預(yù)定義值預(yù)定義值16進(jìn)制值對應(yīng)二進(jìn)制位CS_VREDRAW00000001h0CS_HREDRAW00000002h1CS_KEYCVTWINDOW00000004h2CS_DBLCLKS00000008h3CS_OWNDC00000020h5CS_CLASSDC00000040h6…可以看到,這些預(yù)定義值實際上在使用不重復(fù)的數(shù)據(jù)位,所以可以組合起來使用,同時使用不同的預(yù)定義值并不會引起混淆。摘自《Windows環(huán)境下32匯編語言程序設(shè)計》,有所修改。,因為本來參數(shù)是文本型,但是只要填0就可以取得程序本身的實例句柄。所以我改了參數(shù)的類型,當(dāng)然也在函數(shù)后面加了后綴成了API_GetModuleHandle_int代表我改過了。,內(nèi)存中每個整數(shù)型占4字節(jié),文本型傳遞的是指針,所以也是4字節(jié)。12*4就是48了。()是位運算中的一個命令,用來組合多種風(fēng)格,弄到一坨。有興趣的可以自己看看位運算,了解還是比較好的。,如果裝載系統(tǒng)預(yù)設(shè)的,第一個參數(shù)實例句柄就必須填0。所以獲取默認(rèn)的鼠標(biāo)光標(biāo)句柄是API_LoadCursor(0, IDC_ARROW),而易語言圖標(biāo)是在程序中而不是系統(tǒng)預(yù)設(shè)的,易語言圖標(biāo)的ID是129,所以API_LoadIcon(集_實例句柄, 129)裝載易語言圖標(biāo)。 到整數(shù)( amp。子程序名 )獲得。 amp。是取子程序指針 到整數(shù)轉(zhuǎn)換為整數(shù)型。注冊完了窗口類,就可以創(chuàng)建我們的窗口了。建立窗口創(chuàng)建窗口用到的函數(shù)是CreateWindowEx,函數(shù)聲明如下:下載( KB)2010717 21:29●lpClassName—建立窗口使用的類名字符串指針,在FirstWindow程序中指向“MyClass”字符串,表示使用“MyClass”類建立窗口,這正是我們自己注冊的類,這樣一來,這個窗口就有“MyClass”的所有屬性,并且消息將被發(fā)到“MyClass”中指定的窗口過程中去,當(dāng)然,這里也可以是Windows預(yù)定義的類名?!駆pWindowName——指向表示窗口名稱的字符串,該名稱會顯示在標(biāo)題欄上。如果該參數(shù)空白,則標(biāo)題欄上什么都沒有?!駂Menu——窗口上要出現(xiàn)的菜單的句柄。在注冊窗口類的時候也定義了一個菜單,那是窗口的默認(rèn)菜單,意思是如果這里沒有定義菜單(用參數(shù)NULL)而注冊窗口類時定義了菜單,則使用窗口類中定義的菜單;如果這里指定了菜單句柄,則不管窗口類中有沒有定義都將使用這里定義的菜單;兩個地方都沒有定義菜單句柄,則窗口上沒有菜單。另外,當(dāng)建立的窗口是子窗口時(dwStyle中指定了WS_CHILD),這個參數(shù)是另一個含義,這時hMenu參數(shù)指定的是子窗口的ID號,這樣可以節(jié)省一個參數(shù)的位置,因為反正子窗口不會有菜單?!駆pParam——這是一個指針,指向一個欲傳給窗口的參數(shù),這個參數(shù)在WM_CREATE消息中可以被獲取,一般情況下用不到這個字段?!駂Instance——模塊句柄,和注冊窗口類時一樣,指定了窗口所屬的程序模塊?!駂WndParent——窗口所屬的父窗口,對于普通窗口(相對于子窗口),這里的“父子”關(guān)系只是從屬關(guān)系,主要用來在父窗口銷毀時一同將其“子”窗口銷毀,并不會把窗口位置限制在父窗口的客戶區(qū)范圍內(nèi),但如果要建立的是真正的子窗口(dwStyle中指定了WS_CHILD的時候),這時窗口位置會被限制在父窗口的客戶區(qū)范圍內(nèi),同時窗口的坐標(biāo)(x,y)也是以父窗口的左上角為基準(zhǔn)的。●x,y——指定窗口左上角位置,單位是像素。默認(rèn)時可指定為CW_USEDEFAULT,這樣Windows會自動為窗口指定最合適的位置,當(dāng)建立子窗口時,位置是以父窗口的左上角為基準(zhǔn)的,否則,以屏幕左上角為基準(zhǔn)?!駈Width,nHeight—窗口的寬度和高度,也就是窗口的大小,同樣是以像素為單位的。默認(rèn)時可指定為CW_USEDEFAULT,這樣Windows會自動為窗口指定最合適的大小。窗口的兩個參數(shù)dwStyle和dwExStyle決定了窗口的外形和行為,dwStyle是從Win16開始就有的屬性,它們是一些以WS(Windows Style的縮寫)為開頭的預(yù)定義值。窗口風(fēng)格的預(yù)定義值預(yù)定義值16進(jìn)制值含義WS_OVERLAPPED00000000h普通的重疊式窗口WS_POPUP80000000h彈出式窗口(沒有標(biāo)題欄)WS_CHILD40000000h子窗口WS_MINIMIZE20000000h初始狀態(tài)是最小化的WS_VISIBLE10000000h初始狀態(tài)是可見的WS_DISABLED08000000h初始狀態(tài)是被禁止的WS_MAXIMIZE01000000h初始狀態(tài)是最大化的WS_BORDER00800000h單線條邊框WS_DLGFRAME00400000h對話框類型的邊框WS_VSCROLL00200000h帶垂直滾動條WS_HSCROLL00100000h帶水平滾動條WS_SYSMENU00080000h帶系統(tǒng)菜單(即帶標(biāo)題欄左上角的圖標(biāo))WS_THICKFRAME00040000h可以拖動調(diào)整大小的邊框WS_MINIMIZEBOX00020000h有最小化按鈕WS_MAXIMIZEBOX00010000h有最大化按鈕為了容易理解,Windows也為一些定義取了一些別名,同時,由于窗口的風(fēng)格往往是幾種風(fēng)格的組合,所以Windows也預(yù)定義了一些組合值。等效的窗口風(fēng)格預(yù)定義值預(yù)定義值等效值WS_CHILDWINDOWWS_CHILDWS_TILEDWS_OVERLAPPEDWS_ICONICWS_MINIMIZEWS_SIZEBOXWS_THICKFRAMEWS_OVERLAPPEDWINDOWWS_OVERLAPPED or WS_CAPTION or WS_SYSMENU or WS_THICKFRAME or WS_MINIMIZEBOX or WS_MAXIMIZEBOXWS_TILEDWINDOWWS_OVERLAPPEDWINDOWWS_POPUPWINDOWWS_POPUP or WS_BORDER or WS_SYSMENUdwExStyle是Win32中擴(kuò)展的,它們是一些以WS_EX_開頭的預(yù)定義值,主要定義了一些特殊的風(fēng)格。窗口擴(kuò)展風(fēng)格的預(yù)定義值預(yù)定義值16進(jìn)制值含義WS_EX_TOPMOST00000008h總在頂層的窗口WS_EX_ACCEPTFILES00000010h允許窗口進(jìn)行鼠標(biāo)拖放操作WS_EX_TOOLWINDOW00000080h工具窗口(很窄的標(biāo)題欄)WS_EX_WINDOWEDGE00000100h立體感的邊框WS_EX_CLIENTEDGE00000200h客戶區(qū)立體邊框預(yù)定義值16進(jìn)制值含義WS_EX_OVERLAPPEDWINDOWWS_EX_WINDOWEDGE or WS_EX_CLIENTEDGEWS_EX_PALETTEWINDOWWS_EX_WINDOWEDGE or WS_EX_TOOLWINDOW or WS_EX_TOPMOST用預(yù)定義的組合值WS_EX_PALETTEWINDOW可以很方便地構(gòu)成浮在其他窗口前面的工具欄。集_窗口句柄 = API_CreateWindowEx (0, “”, “[able教你Win32編程] 初識窗口”, 位或 (WS_VISIBLE, WS_MAXIMIZEBOX, WS_MINIMIZEBOX, WS_SYSMENU), 0, 0, 400, 300, 0, 0, 集_實例句柄, 0)這行代碼會創(chuàng)建一個沒有拓展風(fēng)格的類名為“”,標(biāo)題為“[able教你Win32編程] 初識窗口”,可以看到的,有最大化最小化菜單按鈕并且?guī)到y(tǒng)自帶的菜單(最大化,最小化,還原,關(guān)閉),寬為400,高為300的一個窗口,且創(chuàng)建后在屏幕的左上角。CreateWindowEx會返回創(chuàng)建窗口的窗口句柄,接下來我們只要Show(顯示)Window,Update(更新)Window。窗口就顯示了API_ShowWindow(集_窗口句柄, SW_SHOW)’ 顯示窗口API_UpdateWindow(集_窗口句柄)’ 更新窗口,重畫緊接著就是消息循環(huán)了,下一篇文章(二)將介紹消息循環(huán)和窗口過程函數(shù),敬請期待。Ps:初學(xué)者可能有點頭暈,不過沒關(guān)系,混過去就好,之后的內(nèi)容更容易接受,概念性的東西有點印象,說不定哪天就開竅了。易語言教程Win32編程(二)admin發(fā)表于 20100806 18:41 | 來源:| 閱讀 266 views上篇文章我們說了窗口類的注冊和窗口的創(chuàng)建與顯示更新窗口,馬上進(jìn)入的就是消息循環(huán)了。如果我們的“_啟動子程序”返回了,那我們的程序也就結(jié)束了,所以窗口創(chuàng)建以后后面接著消息循環(huán)是必然的。Ps:后面將介紹的模態(tài)對話框稍有不同。要說消息循環(huán),必須先簡單介紹消息機(jī)制了。Windows消息機(jī)制說到消息機(jī)制,那就先扯扯DOS下編程了:DOS下的編程語言一般只能是16位的匯編語言,如果想要捕獲用戶動作,就得通過各種中斷,天天翻中斷手冊是非常痛苦的。但是現(xiàn)在好了,中斷進(jìn)化了,搖身一變成了消息機(jī)制。用戶的動作系統(tǒng)會用消息提醒我們的窗口,消息是非常非常多的,譬如說我們輕輕動一下鼠標(biāo),結(jié)果是產(chǎn)生1
點擊復(fù)制文檔內(nèi)容
教學(xué)教案相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1