一区二区国产高清视频在线_真人性做爰A片免费_强伦人妻BD在线电影_亚洲熟妇无码AV_免费人成视频在线观看网站_亚洲欧美精品午睡沙发_在线观看无码的免费网站_中文字幕无码A片久久_日韩欧美国产一区精品_久久精品女人天堂av

重慶醫(yī)科大學(xué)論壇

 找回密碼
 注冊(cè)(開放注冊(cè))
搜索
查看: 2605|回復(fù): 4
打印 上一主題 下一主題

[軟件] win32學(xué)習(xí)初級(jí)二

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2006-11-11 18:45:20 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
今天講軟件流程。呵呵 似乎有點(diǎn)慌點(diǎn)大家了
我講的軟件流程不是開發(fā)流程請(qǐng)注意
一個(gè)軟件,表面上看是個(gè) XX.exe文件。雙擊他運(yùn)行后,就會(huì)出現(xiàn)業(yè)務(wù)畫面。
上面有按鈕(buton),編輯框(textbox)等,操作任何對(duì)象多有不同的響應(yīng),這些如何實(shí)現(xiàn)?
下面我得說說事件驅(qū)動(dòng)。什么是事件驅(qū)動(dòng)?
舉個(gè)簡單的例子。我們摁下鍵盤,系統(tǒng)就會(huì)產(chǎn)生一個(gè)鍵盤響應(yīng)事件。單擊鼠標(biāo)健也會(huì)產(chǎn)生響應(yīng)事件,這么說還是有點(diǎn)模糊,(抱歉?jìng)(gè)人文筆能力有限,不知道該如何解釋了),說白了吧,整個(gè)軟件就是個(gè)事件驅(qū)動(dòng)組成的。
舉個(gè)簡單的例子,我們單擊一個(gè)按鈕,軟件怎么知道用戶做了什么。首先操作系統(tǒng)接收到鼠標(biāo)單擊事件的消息,把他放在消息隊(duì)列中,然后系統(tǒng)從消息隊(duì)列中取出消息,對(duì)他進(jìn)行過濾,過濾操作是很有必要的,因?yàn)橛行┎僮鲿r(shí)用戶不想要的,或者是系統(tǒng)未定義的事件消息,不把他過濾掉,系統(tǒng)將無法處理,這是就會(huì)出現(xiàn)系統(tǒng)bug,那么系統(tǒng)怎么知道我們是對(duì)那個(gè)窗體或軟件發(fā)出的事件消息呢,這是系統(tǒng)會(huì)把事件消息發(fā)給,當(dāng)前活動(dòng)窗體以及具有活動(dòng)線程(一般是后臺(tái)線程),再由這些窗體或軟件自己去過濾這些消息,如果是自己需要的就做出響應(yīng)。這里我們可以理解 當(dāng)前活動(dòng)窗口,只是活動(dòng)線程有點(diǎn)模糊。另外在說明點(diǎn),不是所有活動(dòng)線程(后臺(tái)運(yùn)行,以下不作解釋)多能捕作事件響應(yīng),我們只是在里面做自己想要得事件響應(yīng)過濾。打個(gè)比方吧,我們常用的金山詞霸,把他隱藏后,為什么我們摁下某些鍵后能打開畫面呢?這就是事件驅(qū)動(dòng)的原因。
由于個(gè)人表達(dá)能力有限,上面的東東,只能這么講了,不懂沒關(guān)系,以后我們用例子來說事,上面只是讓你們有個(gè)概念上的認(rèn)識(shí)。
下面來講win32
首先區(qū)分以下asc和unicode,當(dāng)初我學(xué)習(xí)是對(duì)這兩個(gè)概念,有點(diǎn)轉(zhuǎn)牛角尖,將以大家別把太多時(shí)間放在這上面,他們本質(zhì)上是一樣的。簡單的說。asc只能符合美國的需求,但是不符合別的國家,尤其是亞洲國家的要求。怎么說呢。asc是8位編碼方式,而unicode 是16位編碼方式,據(jù)說unicode能表達(dá)所有的字符,比如漢字,鮮文,還有變異的漢子---日文(據(jù)說是日本文的祖先太笨,以至于沒學(xué)好漢文。)等。對(duì)這這兩個(gè)概念大家只要知道這些就夠了,沒必要再去上網(wǎng)查。然后來這里和我較真。
然后將將一些概念,
句柄:句柄是什么東西?其實(shí)他的概念和int,long,char一樣也是關(guān)鍵字,不過不是c/c++的關(guān)鍵字阿,如hwnd,hanlde.uint等這些關(guān)鍵字有什么用,它們之間有關(guān)聯(lián)么。這些概念先不講。準(zhǔn)備以在代碼中給大家講,個(gè)人感覺這樣形象點(diǎn)。
下面就是個(gè)簡單的win32 函數(shù)
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
        // TODO: Place code here.

        return 0;
}
在有些書里面 把 int APIENTRY 定義為WINAPI或其他的什么的,其實(shí)多一樣,無非是一些宏
上面就是個(gè)WIN32主函數(shù),相當(dāng)于我們以前常見的MAIN函數(shù)
我們?cè)谶@個(gè)函數(shù)里要做的就是窗體的注冊(cè)與顯示,以及其他空間的繪制等。
然后就是事件消息的獲得,但是不在這里處理消息。我們把消息發(fā)給專門的消息處理函數(shù),上面沒有顯示,今天不講這些。

我先將如何去看這些所謂的關(guān)鍵字,英文好的朋友注意了。
HINSTANCE  H------INSTANCE  :H handle的縮寫,INSTANCE:中文意思就是實(shí)例,白話就是實(shí)際的東西。有什么用,在以后的代碼我們慢慢去發(fā)現(xiàn)吧。
LPSTR  L----P----STR:L Long, P  Point, STR string(字符串)   
沒價(jià)漢字注視的地方應(yīng)該能看懂吧----------
然后將將參數(shù)意義,英文好的朋友注意。
第一個(gè)參數(shù)有用,怎么用以后將。
第二個(gè)參數(shù)沒用,給他一個(gè)NULL值就可以
第三個(gè)參數(shù)有用,怎么用看看字面意思
第四個(gè)同上
還有上面的函數(shù)名WinMain 建議大家不要自做聰明去修改他。一直以來人們多這么用它。
好了 感覺寫的挺多,不知道你們感覺怎么樣,呵呵
明天有時(shí)間的話,給你們寫一個(gè)能運(yùn)行的簡單畫面程序的文章

評(píng)分

1

查看全部評(píng)分

2#
發(fā)表于 2006-11-12 09:38:52 | 只看該作者
問下,那些MFC的函數(shù)你是怎么都記會(huì)的,用MSDN嗎
3#
 樓主| 發(fā)表于 2006-11-12 13:29:24 | 只看該作者
呵呵沒有人會(huì)去記那些函數(shù)!經(jīng)常用就記住了,而且函數(shù)命名和他 的用途有關(guān)聯(lián)的,比方說,IsNumeric,GetDlgItem,SetDlgItemText,等。
        我想要是程序員要用自己的腦子來記函數(shù)的話,你就是學(xué)個(gè)vb光是函數(shù)就得記上半年。
       交給你一個(gè)方法。比方說我現(xiàn)在是用c++作開發(fā),我想獲得窗口句柄。怎么辦,很簡單,在Msdn里面輸入Get回車后就會(huì)出現(xiàn)很多取得屬性的方法。然后你在慢慢刨。如果是經(jīng)驗(yàn)者,很快就會(huì)查到自己需要的函數(shù)。拋棄c++不說,現(xiàn)在其他語言之間有很多的共性。什么類,屬性,方法多時(shí)一樣的,沒有什么本質(zhì)區(qū)別。比方說在vb里我們用caption來記錄文本,在vb.net里面已經(jīng)把caption 給拋棄,我想不至于傻到不認(rèn)識(shí)text的地步吧,更不至于不理解text是什么意思的地步吧
學(xué)習(xí)mfc先學(xué)類庫,每個(gè)類庫是怎么用,他有哪些事件驅(qū)動(dòng),然后就是用程序?qū)崿F(xiàn)他。
4#
發(fā)表于 2006-11-13 18:20:58 | 只看該作者
那還不是得記那些類,唉,只有邊學(xué)邊記了
5#
發(fā)表于 2006-11-13 20:25:43 | 只看該作者

狂頂

狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂狂頂

本版積分規(guī)則

手機(jī)訪問本頁請(qǐng)
掃描左邊二維碼
本網(wǎng)站聲明
本網(wǎng)站所有內(nèi)容為網(wǎng)友上傳,若存在版權(quán)問題或是相關(guān)責(zé)任請(qǐng)聯(lián)系站長!
站長電話:0898-66661599    站長聯(lián)系QQ:12726567   
站長微信:hainanok
請(qǐng)掃描右邊二維碼
www.myujob.com

小黑屋|手機(jī)版|Archiver|重慶醫(yī)科大學(xué)論壇 ( 瓊ICP備10001196號(hào)-2 )

GMT+8, 2025-11-19 03:20 , Processed in 0.124251 second(s), 15 queries .

Powered by 校園招聘信息

© 2001-2020 重慶醫(yī)科大學(xué)論壇校園招聘

快速回復(fù) 返回頂部 返回列表