-
簡介:1匯編語言程序設計匯編語言程序設計試卷試卷A200912題型選擇題選擇題填空題填空題簡答題簡答題程序設計題程序設計題合計得分閱卷人閱卷人一、一、選擇題選擇題(每題(每題2分,共分,共20分)分)1能夠被計算機直接執(zhí)行的語言稱為()。A、高級語言B、匯編語言C、自然語言D、機器語言2可用作寄存器間接尋址或基址、變址尋址的地址寄存器,正確的是()。A、AX,BX,CX,DXB、DS,ES,CS,SSC、SP,BP,IP,BXD、SI,DI,BX,BP3FR寄存器的各個標志位中,如果出現(xiàn)ZR,其含義為()。A結(jié)果為0B結(jié)果不為0C結(jié)果溢出D結(jié)果沒有溢出4匯編語言中,存儲區(qū)的存儲原則是()。A低低高高B高高低低C隨機D以上均錯5要將匯編語言目標文件生成可執(zhí)行文件,應該通過()工具生成。AEDITBMASMCLINKDDEBUG6下列哪種尋址方式無法訪問存儲單元()。A基址變址B直接尋址C寄存器尋址D寄存器的相對尋址7非壓縮的BCD碼乘法調(diào)整指令為()。AAASBAAMCDAADAAD8要使一個段從一個節(jié)的位置開始存儲,應該使用的定位類型為()APAGEBPARACDWDDWD系級班姓名姓名學號學號32、請分析該圖中用線框起來的這8個標志分別代表的是什么標志的值其含義是什么NVUPEIPLNZNAPONC3、簡述DOS功能的基本調(diào)用步驟。4、簡述子程序與主程序之間參數(shù)傳遞的三種方法5、簡述21H號功能的6號功能調(diào)用的入口參數(shù)及出口參數(shù)。
下載積分: 6 賞幣
上傳時間:2024-03-06
頁數(shù): 9
大?。?0.09(MB)
子文件數(shù):
-
簡介:CC程序設計語言程序設計語言課程標準課程標準一、適用對象一、適用對象高等職業(yè)教育層次學生。二、課程性質(zhì)二、課程性質(zhì)C程序設計語言是軟件專業(yè)主干課程。本課程主要使學生具備相關(guān)職業(yè)初、中級專門人才所必需的軟件設計基本技能,熟悉軟件開發(fā)所需的軟件開發(fā)工具,了解軟件開發(fā)方法和開發(fā)過程;是學習數(shù)據(jù)庫、應用軟件開發(fā)、軟件工程等后續(xù)專業(yè)課程的基礎(chǔ)。三、參考學時三、參考學時64學時。四、學分四、學分4學分。五、課程目標五、課程目標通過項目引領(lǐng)的軟件開發(fā)活動,掌握C語言知識,培養(yǎng)學生的軟件開發(fā)技能,對軟件開發(fā)過程和軟件開發(fā)規(guī)范有基本的了解;能承擔軟件開發(fā)企業(yè)中編碼、測試的工作任務。同時培養(yǎng)吃苦耐勞、愛崗敬業(yè)、團隊協(xié)作的職業(yè)精神和誠實、守信、善于溝通與合作的良好品質(zhì),為發(fā)展職業(yè)能力奠定良好的基礎(chǔ)。理解C程序設計語言的語法。能在軟件設計人員的指導下把詳細設計結(jié)果轉(zhuǎn)換為軟件編碼。能對編寫的軟件代碼進行測試和調(diào)試。會編寫符合“軟件編碼規(guī)范”要求的軟件代碼。能在面向?qū)ο蟮能浖_發(fā)理論指導下編寫軟件代碼。六、設計思路六、設計思路按照“以能力為本位、以職業(yè)實踐為主線、以項目課程為主體的模塊化專業(yè)課程體系”的總體設計要求,該門課程以學會面向?qū)ο蟮某绦蛟O計語言的使用,形成面向?qū)ο蟪绦蚓幋a的基本技能為基本目標,徹底打破學科課程的設計思路,緊緊圍繞工作任務完成的需要來選擇和組織課程內(nèi)容,突出工作任務與知識,增強課程內(nèi)容與職業(yè)崗位能力要求的相關(guān)性,提高學生的就業(yè)能力。學習項目選取的基本依據(jù)是該門課程涉及的工作領(lǐng)域和工作任務范圍,但在具體設計過程中,還根據(jù)軟件專業(yè)的典型產(chǎn)品為載體,使工作任務具體化,產(chǎn)生了具體的學習項目。其編排依據(jù)是該職業(yè)所特有的工作任務邏輯關(guān)系,而不是知識關(guān)系。依據(jù)工作任務完成的需要、職業(yè)學校學生的學習特點和職業(yè)能力形成的規(guī)律,按照“學歷證書與職業(yè)資格證書嵌入式”的設計要求確定課程的知識、技能等內(nèi)容。依據(jù)各學習項目的內(nèi)容總量以及在該門課程中的地位分配各學習項目的學時數(shù)。學習程度用語主要使用“了解”、“理解”、“能”或“會”等用語來表述?!傲私狻庇糜诒硎鍪聦嵭灾R的學習程度,“理解”用于表述原理性知識的學習程度,“能”或“會”用于表述技能的學習程度。七、內(nèi)容綱要七、內(nèi)容綱要項目一項目一“HELLOWLD“HELLOWLD”程序程序1、參考學時、參考學時8學時。2、工作任務、工作任務安裝C軟件集成開發(fā)環(huán)境。認識集成開發(fā)環(huán)境內(nèi)各窗體的功能和使用方法。編寫控制臺程序“HELLOWLD”3、學習目標、學習目標安裝VISUAL的開發(fā)環(huán)境。能運用集成開發(fā)環(huán)境開發(fā)簡單的C程序。了解框架及其組成和特點。項目二項目二WINDOWS計算器計算器1、參考學時、參考學時10學時2、工作任務、工作任務閱讀項目需求,完成項目主要功能的簡單分析和設計,完成設計資料整理。根據(jù)設計文檔完成軟件編碼。對軟件進行測試和調(diào)試。3、學習目標、學習目標會運用軟件工程知識進行簡單的軟件設計,如界面設計、過程設計等。會利用設計結(jié)果和窗體、菜單、按鈕、單選框、文本框等控件完成界面設計。會設置控件的屬性。能運用C語言編寫控件的事件方法。會調(diào)試程序。會應用程序設計語言的控制語句。模塊一模塊一“WINDOWS計算器計算器”軟件設計軟件設計參考學時2學時工作任務閱讀項目需求分析項目功能完成界面設計完成過程設計整理設計資料學習目標會運用軟件工程知識閱讀項目需求,分析項目的主要功能會設計應用程序界面會設計控件,包括控件的名稱、所需屬性和事件方法等能整理設計資料并完成簡單的軟件設計文檔的編寫實踐技能界面設計和過程設計的方法分析和設計的步驟工具軟件的使用知識要點軟件工程中的設計知識拓展知識軟件編碼規(guī)范軟件工程中軟件設計的有關(guān)知識、設計步驟和規(guī)范模塊二模塊二在環(huán)境中創(chuàng)建環(huán)境中創(chuàng)建“WINDOWS計算器計算器”界面界面參考學時2學時工作任務根據(jù)設計結(jié)果在軟件集成開發(fā)環(huán)境中完成應用程序界面的創(chuàng)建學習目標能根據(jù)設計結(jié)果在集成開發(fā)環(huán)境中利用模板建立C應用程序會創(chuàng)建“WINDOWS計算器”界面會在界面窗體中創(chuàng)建菜單、按鈕、單選框、文本框等控件實踐技能添加控件的方法和步驟知識要點相關(guān)控件的用途拓展知識上下文菜單多文檔窗口(MDI)在窗口中布局控件考核要求掌握應用程序界面、控件的設計模塊三模塊三設置設置“WINDOWS計算器計算器”界面各控件的屬性、事件方法界面各控件的屬性、事件方法
下載積分: 6 賞幣
上傳時間:2024-03-07
頁數(shù): 8
大?。?0.13(MB)
子文件數(shù):
-
簡介:發(fā)現(xiàn)歷史發(fā)現(xiàn)歷史壞血病是幾百年前就知道的疾病,但是一直到1911年才確定它是因為缺乏營養(yǎng)而產(chǎn)生的。在18世紀壞血病在遠洋航行的水手中非常普遍,但也流行在長期困戰(zhàn)的陸軍士兵中,長期缺乏食物的社區(qū),被圍困的城市,監(jiān)獄犯人,和勞工營中。例如140年前加州的淘金工人和90年前阿拉斯加的淘金工人都有大批的壞血病病例。壞血病開始的時候癥狀是四肢無力,精神消退,煩躁不安,做任何工作都易疲憊,皮膚紅腫。病人覺得肌肉疼痛,精神抑郁。然后他的臉部腫脹,牙齦出血,牙齒脫落,口臭。皮膚下大片出血看來像是嚴重的打傷。最后是嚴重疲憊﹑腹瀉呼吸困難,骨折,肺臟或腎臟衰竭而致死亡。早年航海人員因壞血病死亡的災難不可枚舉,因為他們在航行時的食物是面餅和咸肉,含有很少的維生素C。1497年7月9日到1498年5月30日,葡萄牙航海家達伽馬(VODAGAMA)發(fā)現(xiàn)繞過非洲到達印度的航線,他的160個船員中,有100人死于壞血病。1519年,葡萄牙航海家麥哲倫率領(lǐng)的遠洋船隊從南美洲東岸向太平洋進發(fā)。三個月后,有的船員牙床破了,有的船員流鼻血,有的船員渾身無力,待船到達目的地時,原來的200多人,活下來的只有35人,人們對此找不出原因。1536年法國探險家JACQUESCARTIER在發(fā)現(xiàn)圣勞倫斯河之后,溯流而上抵達魁北克過冬。探險隊中24人死于壞血病,其它多人也都病重。有一位印第安人教他們飲用一種ARBVITAE(THUJAOCCIDENTALIS)樹葉泡的茶,就治好了這些人。后來發(fā)現(xiàn)這種樹的葉子里每100克含有50毫克的維生素C。西班牙征服墨西哥的荷南科爾蒂斯將軍,在1536年占領(lǐng)下加州BAJACALIFNIA后,因為水手多數(shù)患壞血病而回師,以致沒有繼續(xù)侵占加州本部。1577年一艘西班牙大帆船漂流在馬尾藻海海面上,發(fā)現(xiàn)時所有的船員都死于壞血病。相對于在15世紀中國明朝的鄭和多次率領(lǐng)下西洋的事跡記載,并無發(fā)現(xiàn)有大量船員因長期航行而染上壞血病而死,這與當時鄭和船隊帶備蔬菜和水果有關(guān),亦可見蔬菜和水果內(nèi)的物質(zhì)(后來發(fā)現(xiàn)是維生素C)對防治壞血病有很大的幫助。1734年,在開往格陵蘭的海船上,有一個船員得了嚴重的壞血病,當時這種病無法醫(yī)治,其它船員只好把他拋棄在一個荒島上。待他蘇醒過來,用野草充饑,幾天后他的壞血病竟不治而愈了。諸如此類的壞血病,曾奪去了幾十萬水手的生命。1740年冬,英國海軍上將GEGEANSON率領(lǐng)961水手乘6艘船遠征。1741年6月抵達JUANFERNEZ島時只剩下335人,半數(shù)以上的船員死于壞血病。當時海軍上將JOHNHAWKINS發(fā)現(xiàn)長期航海時海員發(fā)生壞血病的機會和只吃干糧的時間成正比例。如果他們能夠吃到新鮮食物,包柑橘類水果,就會迅速復原。因為新鮮的蔬菜水果是在船上最難保存的食物,所以英國海軍致力研究發(fā)展其代用品。1747年英國海軍醫(yī)官詹姆斯林德在船上做了這個現(xiàn)在很著名的實驗,12個嚴重的壞血病海員,大家都吃完全相同的食物,唯一不同的藥物是當時傳說可以治療壞血病的藥方。兩個病人每天吃兩個橘子和一個檸檬,另兩人喝蘋果汁,其它人是喝稀硫酸,酸醋,海水,或是一些其它當時人認為可治壞血病的藥物。6天之后,只有吃柑橘水果的兩人好轉(zhuǎn),其它人病情依然。LIND繼續(xù)研究,1753年出版了壞血病大全(ATREATISEONSCURVY)一書。英國的著名探險家?guī)炜舜L最為人稱道的是他控制了可怕的壞血病。他在1768年到1780年間三次遠航太平洋,他的船員有些生病,但是沒有一人喪生于壞血病。而他同時許多其它探險船隊中,壞血病依然猖獗。庫克防治壞血病的貢獻,使得倫敦皇家學會選他為會員,并授予他COPLY獎章。每次航行靠岸時,庫克都命令船員上岸購買水果蔬菜及綠色植物來補充營養(yǎng)。有一次他在旗艦ENDEAVOUR上帶了7860磅的德國酸白菜SAUKERKRAUT,船上70人一年航程中每人每周有兩磅的供給。酸白菜含有豐富的維生素C,每100克含有50毫克的維生素C。人。KLENNER發(fā)現(xiàn)靜脈注射維生素C可以治療所有病毒感染的疾病,如肝炎,腦炎,流行性感冒以及許多其它急性和慢性的病癥。他的經(jīng)驗和許多其它使用維生素治病的報告都被醫(yī)藥界忽略。醫(yī)藥界追求的是高利潤的專利藥物及疫苗,沒有專利權(quán)的維生素都受到排斥和壓制。1959年美國生化學家JJBURNS發(fā)現(xiàn)人類和靈長類動物會得壞血病,是因為他們的肝臟中缺乏一種酶LGULONOLACTONEOXIDASE,它是將葡萄糖轉(zhuǎn)化為維生素C的四種必要酶之一。因此人必須從食物中攝取維生素C,才能推持健康。其它的哺乳動物都在肝臟中自行制造維生素C,兩棲動物及魚類則在腎臟中制造維生素C。許多人類特有的疾病,如傷風,感冒,流行性感冒,肝炎,心臟病及癌癥,在動物中都少見,這些疾病都是因為人體不能自行制造維生素而產(chǎn)生的。1970年兩次獲得諾貝爾獎的化學家萊納斯鮑林出版VITAMINCCOMMONCOLD)一書。提出高劑量(遠遠超過0)的維生素C可以預防和治療感冒。雖然醫(yī)藥界激烈反對他的論點,但是鮑林的研究的確引起了學術(shù)界對應用超過RDA劑量維生素C的重視,帶動了世界各地大量的同類研究。這本書暢銷美國,民眾搶購維生素C以致造成世界性缺貨。奇怪的是1970年之后,美國人因心臟病死亡率顯著下降,而同樣是開發(fā)國家的西歐人和日本人的心臟病死亡率卻持平。許多人認為這是維生素C預防心臟病的有力佐證。1976年紐約星期六晚郵的主編卡增茲NMANCOUSINS在新英格蘭醫(yī)學期刊上發(fā)表疾病的解剖(ANATOMYOFANILLNESS)一文。新英格蘭醫(yī)學期刊絕少刊登外行人的文章。在此文中卡增茲詳述他在1964年與非常痛苦的關(guān)節(jié)性脊椎炎搏斗的經(jīng)驗。他觀看喜劇電影,大笑10分鐘后得到兩小時無痛的安眠,這樣他就停止服用阿司匹林等止痛劑。他又堅持每天靜脈注射25克維生素C來修復他的關(guān)節(jié)和聯(lián)結(jié)組織。不久他就恢復到可以回星期六晚郵上班工作。此文震動美國醫(yī)界,三千多位醫(yī)師寫信給卡增茲,支持他的論點。1979年EWANCAMERON醫(yī)師和鮑林出版癌癥和維生素癌癥和維生素(CANCERVITAMINC)一書。提出高劑量的維生素C可以幫助癌癥患者及治療一些癌癥,再度挑起醫(yī)藥界激烈的反對。美國國家衛(wèi)生院NIH特別商請著名的MAYO醫(yī)院的癌癥醫(yī)師CGMOERTEL做兩次雙盲實驗證明高劑量維生素C不能治療癌癥。但是兩次實驗的過程有許多問題,其結(jié)果并沒有平息維生素C治療癌癥的爭議。1980年在中國科學院北京微生物研究所的研究員尹光琳發(fā)明“維生素C二步發(fā)酵新工藝”,大幅改進了REICHSTEIN的一步發(fā)酵法,減低維生素C的生產(chǎn)成本。此法先將葡萄糖還原成為山梨醇,經(jīng)過第一次細菌發(fā)酵成為山梨糖,再經(jīng)過第二次細菌發(fā)酵轉(zhuǎn)化為KGA(2KETOGULONICACID),最后異化成為維生素C。這項專利的國際使用權(quán)于1985年出售給瑞士羅氏公司,是當時中國對外技術(shù)轉(zhuǎn)讓中最大的項目。羅氏得到了專利但是并不使用,仍然沿用舊有的REICHSTEIN的一步發(fā)酵法。它的目的是要防止其它外國公司使用新法與其競爭。這項專利在中國的國內(nèi)使用權(quán)并沒有賣斷給羅氏公司,到了1990初期中國國內(nèi)成立了26家藥廠用二步發(fā)酵法生產(chǎn)維生素C。1981年凱斯卡特ROBERTCATHCART醫(yī)師發(fā)現(xiàn)用腹瀉測定人體的維生素C飽和量的方法??诜^量維生素C會產(chǎn)生腹瀉。腹瀉顯示人體所有器官的維生素C到達飽和。正常的人維生素C飽和量是每天415克。有病的人維生素C飽和量大幅增加,病情越嚴重,維生素C飽和量越高,甚至可以高到每天200克。每天口服略低于飽和量的維生素C,是治療各種感染疾病的驗方。凱斯卡特醫(yī)師用飽和量維生素C的方法,成功治愈7000綜感冒、流行性感冒、非典型肺炎、急性單核血球?。ɑ杷YACUTEMONONUCLEOSIS)、急性肝炎、干草熱、氣喘病、外傷TRAUMA、手術(shù)創(chuàng)傷、燒傷、背痛、關(guān)節(jié)炎、猩紅熱、泡疹、帶狀泡疹等癥。這個方法解決了60年來使用維生素C治病的爭議,就是維生素C治病的劑量問題。以前許多實驗顯示維生素C無效,是因為劑量沒有達到維生素C飽和量的原故。1990年代大眾也體認到西方醫(yī)藥的限制和缺陷,而尋求另類醫(yī)藥(ALTERNATIVEMEDICINE)。中醫(yī)、中藥、傳統(tǒng)草藥、針灸、喻咖等漸漸流行,各種維生素銷量也都大幅增加。國際幾家大維生素生產(chǎn)商為了長期壟斷維生素市場,獲得高額利潤,曾違反市場競爭規(guī)則,達成秘密的價格聯(lián)盟,劃分市場范圍,以期控制市場價格。維生素C的三大藥廠瑞士的羅氏公司,德國的巴斯夫和日本的武田制藥形成維生素C壟斷集團,維生素C價格從1973年的4美元每千克提高到1994年的18美元每千克。
下載積分: 6 賞幣
上傳時間:2024-03-07
頁數(shù): 9
大?。?0.06(MB)
子文件數(shù):
-
簡介:第10單元圖形設備接口195第10單元單元圖形設備接口圖形設備接口本單元教學目標本單元教學目標介紹WINDOWS的圖形設備接口(GDI)和MFC的圖形對象。學習要求學習要求了解圖形設備接口的概念,掌握畫筆、畫刷和字體的用法,以及邏輯坐標和設備坐標的概念。授課內(nèi)容授課內(nèi)容在WINDOWS程序中,應用程序的輸出并不直接面向物理的設備,如顯示屏或打印機,而是針對一個稱之為設備環(huán)境(DEVICECONTEXT)的邏輯設備進行操作,設備環(huán)境與實際設備之間的信息傳送由WINDOWS直接管理。在MFC應用程序中,所有的繪制調(diào)用均通過相應的設備環(huán)境對象實現(xiàn),設備環(huán)境對象封裝了相應的WINDOWSAPI功能,由一個32位的HDC類型句柄標識。在MFC類庫中,用CDC類封裝設備文本對象。CPAINTDC類是從CDC類派生的設備環(huán)境類。CPAINTDC類的對象在ONPAINT()函數(shù)中使用。另外,CCLIENTDC類也是常用的CDC派生類,用于在ONPAINT()函數(shù)外訪問設備環(huán)境。在第9單元的程序舉例中,我們已經(jīng)看到了CPAINTDC類的應用。但是,那些舉例都很單調(diào),沒有顏色、線型和字體的變化。本單元首先介紹一些在設備環(huán)境下使用的繪圖工具(圖形設備接口對象),使用它們可改善應用程序的外觀,然后介紹圖形設備接口(GDI)的坐標系統(tǒng)。101畫筆與畫刷畫筆與畫刷畫筆是用來畫線的工具,是CPEN類的對象。其使用方法為聲明畫筆對象,并創(chuàng)建寬度為3的紅色實線畫筆CPENPENREDPENREDCREATEPENPS_SOLID3RGB25500使用新的畫筆,保存原來的畫筆以便恢復CPENPOLDPEN第10單元圖形設備接口197HS_VERTICAL垂直線CDC類的OBJECT()函數(shù)原型如下CPENOBJECTCPENPPENCBRUSHOBJECTCBRUSHPBRUSHVIRTUALCFONTOBJECTCFONTPFONT即OBJECT()是重載的CDC類成員函數(shù)。OBJECT()將一個GDI對象選入到設備環(huán)境中,新選中的對象將替換原有的同類型對象,然后返回指向被替換的對象的指針。102繪畫模式繪畫模式在WINDOWS中,繪圖的最終效果不但取決于畫筆和畫刷的設置,還可以通過設定繪圖模式來修正。屏幕繪圖模式可通過CDC的成員函數(shù)SETROP2()設定,其原型為INTSETROP2INTNDRAWMODE其中參數(shù)NDRAWMODE為選定的繪圖模式,常用模式有繪圖模式說明R2_BLACK無論畫筆色如何,只用黑色繪圖;R2_WHITE無論畫筆色如何,只用白色繪圖;R2_NOP無論畫筆色如何,用無色筆繪圖;R2_NOT用與背景色相反的顏色繪圖;R2_NOTCOPYPEN用與畫筆色相反的顏色繪圖;R2_COPYPEN用畫筆色繪圖;R2_XPEN對畫筆色和背景色作異或(X)運算。其中R2_NOT模式可保證所繪圖形是可見的,即如果畫筆色與背景色相同,則以與背景色相反的顏色作圖,避免了所畫圖形“淹沒”在背景中;R2_XPEN模式有一種特殊效果,即對同一條線畫兩次會起到擦除作用。該函數(shù)的返回值為原來的繪圖模式。103GDI坐標系坐標系GDI支持兩種類型的坐標系,即邏輯坐標系和設備坐標系。邏輯坐標系按坐標設置方式(又稱為映射模式)可分為8種,它們的坐標特性如下映射模式邏輯單位X遞增方向Y遞增方向MM_TEXT像素向右向下MM_LOMETRIC01MM向右向上MM_HIMETRIC001MM向右向上MM_LOENGLISH001INCH向右向上
下載積分: 6 賞幣
上傳時間:2024-03-07
頁數(shù): 20
大?。?0.17(MB)
子文件數(shù):
-
簡介:WINDOWS中負責圖形輸出的是GDI即GRAPHICDEVICEINTERFACE,圖形設備接口。這是WINDOWS與硬件無關(guān)的圖形輸出模式的體現(xiàn)。GDI建立在硬件抽象層HAL之上屏蔽了不同輸出設備之間的差異從而為用戶提供了一個統(tǒng)一的“標準輸出設備”。但是,與DOS不同,WINDOWS是多任務、進程獨立的,每一個窗口都應該有一個獨立的輸出通道。這樣,GDI又使用了一種簡單的機制來保證在窗口中畫圖的不同程序之間能共享“設備”而又互不干擾。這個機制就是DCDEVICECONTEXT,設備描述表。有人把DC比喻成畫家的畫室,這里有畫布、畫刷、畫筆等等很多工具。就畫布而言,畫布形式可以不同,是的,我可以在桌上DESKTOP的紙上WINDOW畫,也可以就畫在桌面上,還可以畫在墻上管的著嗎_。為此,WINDOWSMFC提供了四種不同的DC環(huán)境封裝為C類,以標明不同的繪制權(quán)限即CPAINTDC用于在窗口客戶區(qū)畫圖僅限于在ONPAINT處理函數(shù)中使用CCLIENTDC也用于在窗口客戶區(qū)畫圖限于在ONPAINT處理函數(shù)之外使用;CWINDOWDC用于在窗口內(nèi)任意地方畫圖,包括非客戶區(qū);CMETAFILEDC用于繪制GDI圖元文件。這些類都可以直接實例化,如CPAINTDCDCTHISTHIS表示此DC所屬窗口為當前窗口創(chuàng)建了一個CPAINTDC對象DC。CWINDOWDC一般不常用,如果想在窗口非客戶區(qū)畫圖,可借助ONNCPAINT處理函數(shù)捕獲WM_NCPAINT消息。剛才說了,DC中還有畫刷、畫筆等。這些都是DC的屬性,可通過DC自身調(diào)用其成員函數(shù)獲得。DC屬性包括文本顏色、背景顏色、映射模式、繪圖模式、當前位置、當前畫筆刷和當前字體等。畫筆PEN、畫刷BRUSH都是獨立的GDI對象,可通過CDC成員函數(shù)OBJECT選入DC。同樣操作方式的對象還有字體FONT、位圖BITMAP、調(diào)色板PALETTE和區(qū)域REGION。關(guān)于OBJECT在創(chuàng)建好GDI對象之后,OBJECT接收該對象指針,其返回值為先前選入DC的相同類型的對象指針通常用來恢復DC用。WINDOWS也預先定義了一些畫筆、畫刷、字體以及其他一些GDI對象。這些對象稱為備用對象,用CGDIOBJECTSTOCKOBJECT選入。CGDIOBJECT是表示GDI對象的CPEN、CFONT等類的基類。備用對象的屬性說明可以查MSDN。由CGDIOBJECT派生類創(chuàng)建的畫筆、畫刷和其他對象都要占用內(nèi)存資源,因此使用后一定要刪除它們。處理方法與其他WINDOW對象類似。在棧中創(chuàng)建的對象,當此CGDIOBJECT超出范圍時會自動析構(gòu)。在堆中用NEW創(chuàng)建的CGDIOBJECT對象,可通過調(diào)用CGDIOBJECTOBJECT顯式刪除這會引起對GDI對象析構(gòu)函數(shù)的調(diào)用或用相應的運算符。如果是備用對象,則沒必要專門刪除,留給WINDOWS就可以了。VC有一種簡單的方法用來確定是否成功的刪除了GDI對象只要在調(diào)試狀態(tài)下運行應用程序的調(diào)試版本即可。在應用程序結(jié)束時,沒有釋放的資源會顯示在調(diào)試窗口中。一些知識點性,即樣式、寬度和顏色。樣式有PS_SOLID、PS_INSIDEFRAME、PS_NULL等。PS_NULL一般稱其為“NULL畫筆”,想畫一個沒有邊框的圖形,就用到它了。筆寬以邏輯單位給出,實際意義與當前映射模式相同。顏色是通過RGB宏把三個獨立顏色成分的值合成為一個可傳遞給GDI的COLREF值來確定的。2CBRUSH畫刷有三種基本類型,即單色、帶陰影線和帶圖案。其中圖案畫刷允許用位圖填充圖形內(nèi)部這樣,窗口背景也就沒啥新鮮的了。常用函數(shù)有CDCSETBKMODE、CDCSETBKCOL等。6文本與字體CDC有一打文本處理函數(shù),重要的幾個是DRAWTEXT、TEXTOUT、GETTEXTMETRICS、SETTEXTCOL和SETTEXTALIGN等。其中GETTEXTMETRICS傳給TEXTMETRIC結(jié)構(gòu)關(guān)于字體性質(zhì)的相關(guān)信息。字體是一組具有特定尺寸高度和字樣的字符;字樣指示字體共有屬性,如粗細等。字體封裝在CFONT類中,建立字體對象,要在CFONT構(gòu)造之后,再調(diào)用CFONT的成員函數(shù)CREATEFONT或CREATEFONTINDIRECT等來建立GDI字體資源。針對字體,有一個LOGFONT結(jié)構(gòu),其中定義了字體的所有特性。也可通過填充它來創(chuàng)建字體。后記寫這一章的筆記時有一種被作者牽著鼻子走的感覺。知識點太多,寫出來有一種羅列或拼湊的嫌疑。我不希望這樣,但想一想,技術(shù)也就是這樣。所以我希望大家看的時候,能夠思考著看,而不是記憶著看。思考著看只要求我們知道技術(shù)點、怎么用,用熟了,用多了,也就記住了。精華是濃縮的,至于如何把它化開,可要靠你自己了。堆與棧的問題堆,HEAP可以動態(tài)的建立和刪除的內(nèi)存。棧,STACK先進后出的數(shù)據(jù)結(jié)構(gòu),是用來暫時保存數(shù)據(jù)的。堆用來動態(tài)分配內(nèi)存,棧由編譯器自動使用,用來分配局部變量、函數(shù)參數(shù)。堆的增長由內(nèi)存的底部向上,棧的增長由內(nèi)存的高端向下。堆的大小一般比棧大得多。堆是用來實現(xiàn)動態(tài)存儲分配的,和FILO沒有關(guān)系。棧由于它先進后出的特性適合作活動記錄(包括函數(shù)返回地址,局部變量,對于PAL等語言還包括DISPLAY表)的存儲。(想一想如果你編寫一個遞歸程序,棧是怎樣起作用的。)至于堆和棧的組織是不是相臨的,這和OS的實現(xiàn)有關(guān)。COBJECTABOJ則AOBJ建在堆棧中COBJECTPAOBJNEWCOBJECTPAOBJ建在堆中,需要你用刪除之。比如用到DC對象的時候,可以這樣CDCDCTHIS建在堆棧中,函數(shù)結(jié)束后自動刪除CDCPDC建在堆中,需要RELEASEDCPDC刪除。
下載積分: 5 賞幣
上傳時間:2024-03-06
頁數(shù): 4
大小: 0.03(MB)
子文件數(shù):
-
簡介:UML語言各種圖形的建立步驟1用例圖的建立步驟1〉找出系統(tǒng)外部的活動者和外部系統(tǒng),確定系統(tǒng)的邊界和范圍。2〉確定每一個活動者所希望的系統(tǒng)行為。3〉把這些系統(tǒng)行為命名為用例。4〉把一些公共的系統(tǒng)行為分解為一批新的用例,供其它的用例引用。把一些變更的行為分解為擴展用例。5〉編制每一個用例的劇本。6〉繪制用例圖。7〉區(qū)分主業(yè)務流和例外情況的事件流??梢园驯磉_例外的情況的事件流的用例圖畫成一個單獨的子用例圖。8〉精化用例圖,解決用例見得重復與沖入問題,簡化用例中的對話序列,用力圖可以有不同的層次,高層次系統(tǒng)的用例可以分解為若干個下屬子系統(tǒng)中的子用例。2對象類圖的建立步驟1〉研究分析問題領(lǐng)域,確定系統(tǒng)的需求。2〉發(fā)現(xiàn)對象和對象類,明確他們的含義和責任,確定屬性和操作。3〉發(fā)現(xiàn)類之間的靜態(tài)聯(lián)系。著重分析找出對象類之間的一般和特殊關(guān)系,部分與整體關(guān)系,研究類的繼承性和多態(tài)性,把類之間的靜態(tài)聯(lián)系用關(guān)聯(lián)、泛化、聚合、組合、依賴等聯(lián)系表達出來,雖然對象類圖表達的是系統(tǒng)的靜態(tài)結(jié)構(gòu)特征,但是應當把對系統(tǒng)的靜態(tài)分析與動態(tài)分析結(jié)合起來,更能準確地了解系統(tǒng)的靜態(tài)結(jié)構(gòu)特征。4〉設計類與聯(lián)系。調(diào)整和精化已得到的對象類和類之間的聯(lián)系,解決諸如命名沖突、功能重復等問題。5〉繪制對象類圖并編制相應的說明。上述做法是直接從領(lǐng)域分析抽取對象和對象類開始的,這是常規(guī)的面向?qū)ο蟮南到y(tǒng)分析與設計的做法。RATIONAL統(tǒng)一過程主張采用用例驅(qū)動的系統(tǒng)分析與設計方法。從業(yè)務領(lǐng)域的分析中先抽取活動者和用例,建立業(yè)務模型。業(yè)務模型包括業(yè)務用例模型、設計模型、實現(xiàn)模型和測試模型。3系統(tǒng)中的例外情況建模1〉對于每一個對象類和接口,找出可能發(fā)生的例外情況和出現(xiàn)例外情況的條件。2〉把每一個例外情況用一個信號類描述,類名前冠有構(gòu)造型EXCEPTION。3〉建立例外情況的層次結(jié)構(gòu),把一般性的例外情況置于高層,把特殊性的例外情況置于低層。4〉對于每一個操作確定可能發(fā)生的例外情況。在操作和他的例外情況的信號圖表之間有一條虛箭線連接,其上標出構(gòu)造型SEND,表示從操作到他的例外情況的SEND依賴。4順序圖的建立步驟1〉確定交互的上下文。2〉找出參與交互的對象類角色,把他們橫向排列在順序圖的頂部,最重要的對象安狀態(tài)或動作狀態(tài)。4〉對于復雜的動作或多次重復出現(xiàn)的一組動作,可以把他們組成一個活動狀態(tài),并且用另外一個活動圖來展開表示。5〉給出連接活動和動作的轉(zhuǎn)移(動作流)。首先處理順序動作流,然后處理條件分支。最后處理分劈和接合。6〉在活動圖中給出與工作流有關(guān)的重要對象,并用虛箭線把他們與活動狀態(tài)或動作狀態(tài)相連接。8包圖的建立步驟1〉分析系統(tǒng)模型元素(通常是對象類),把概念上或語義上相近的模型元素納入一個包。注意可以從類的功能的相關(guān)性來確定納入包中的對象類。以下幾點可作為分析對象類的功能相關(guān)性的參考(1)如果一個類的行為和或結(jié)構(gòu)的變更要求另一個相應的變更,則這兩個類是功能相關(guān)的。(2)如果刪除一個類后,另一個類便變成是多余的,則這連個類是功能相關(guān)的,這說明該剩余的類只為那個被刪除的類所使用,他們之間有依賴關(guān)系。(3)如果兩個類之間大量的頻繁交互或通信,則這兩個類是功能相關(guān)的。(4)如果兩個類之間有一般特殊關(guān)系,則這兩個類是功能相關(guān)的。(5)如果一個類激發(fā)創(chuàng)建另一個類的對象,則這兩個類是功能相關(guān)的。(6)如果兩個類不涉及統(tǒng)一個外部活動著,則這兩個類不應放在同一個包中。(7)一個包應當具有高內(nèi)聚性,包中的對象類應該是功能相關(guān)的。2〉對于每一個包,標出其模型元素的可視性公共、保護或私有。3〉確定包與包之間的依賴關(guān)系,特別是輸入依賴。4〉確定包與包之間的泛化關(guān)系,確定包元素的多態(tài)性和重載。5〉繪制包圖。6〉包圖精化。9組件圖的建立步驟1〉確定組件。首先要分解系統(tǒng),考慮有關(guān)系統(tǒng)的組成管理、軟件的重用核物理節(jié)點的配置等因素,把關(guān)系密切的可執(zhí)行程序和對象庫分別歸入組件,找出相應的對象類、接口等模型元素。2〉對組件加上必要的構(gòu)造型??梢允褂肬ML的標準構(gòu)造型EXECUTABLE、LIBRARY、TABLE、FILE、DOCUMENT,或自定義新的構(gòu)造型,說明組件的性質(zhì)。3〉確定組件之間的聯(lián)系。最常見的組件之間的聯(lián)系是通過接口依賴。一個組件使用某個接口,另一個組件實現(xiàn)該接口。4〉必要時把組件組織成包。組件和對象類、協(xié)同等模型元素一樣可以組織成包。5〉繪制組件圖。10配置圖的建立步驟1〉確定節(jié)點。注意標示系統(tǒng)中的硬件設備,包括大型主機、服務器、前端機、網(wǎng)絡設備、輸入輸出設備等。一個處理機是一個節(jié)點,它具有處理功能,能夠執(zhí)行一個組件;一個設備也是一個節(jié)點,她沒有處理功能,但他是系統(tǒng)和現(xiàn)實世界的接口。
下載積分: 5 賞幣
上傳時間:2024-03-06
頁數(shù): 4
大小: 0.03(MB)
子文件數(shù):
-
簡介:函數(shù)名作用1CREATEFILE打開串口2GETCOMMSTATE檢測串口設置3SETCOMMSTATE設置串口BUILDERCOMMDCB用字符串中的值來填充設備控制塊GETCOMMTIMEOUTS檢測通信超時設置SETCOMMTIMEOUTS設置通信超時參數(shù)SETCOMMMASK設定被監(jiān)控事件WAITCOMMEVENT等待被監(jiān)控事件發(fā)生WAITFMULTIPLEOBJECTS等待多個被監(jiān)測對象的結(jié)果4WRITEFILE發(fā)送數(shù)據(jù)READFILE接收數(shù)據(jù)GETOVERLAPPEDRESULT返回最后重疊(異步)操作結(jié)果5PURGECOMM清空串口緩沖區(qū)退出所有相關(guān)操作6CLEARCOMMERR更新串口狀態(tài)結(jié)構(gòu)體并清除所有串口硬件錯誤7CLOSEHLE關(guān)閉串行口紅顏色標出來的是我用到的一些函數(shù),因為是最簡單的應用,所以用到的函數(shù)也都是最最簡單的一些,都是非常容易理解的。只是通過計算機向51發(fā)送指令所以連READFILE()都沒用到。省了很多事。。。。。。1CREATEFILE功能打開串口設備函數(shù)原型3SETCOMMSTATE功能設置串口狀態(tài)BOOLSETCOMMSTATE(HLEHFILEHLEOFCOMMUNICATIONSDEVICELPDCBLPDCBADDRESSOFDEVICECONTROLBLOCKSTRUCTURE)說明在打開通信設備句柄后,常常需要對串行口進行一些初始化工作。這需要通過一個DCB結(jié)構(gòu)來進行。DCB結(jié)構(gòu)包含了諸如波特率、每個字符的數(shù)據(jù)位數(shù)、奇偶校驗和停止位數(shù)等信息。在查詢或配置置串行口的屬性時,都要用DCB結(jié)構(gòu)來作為緩沖區(qū)。調(diào)用GETCOMMSTATE函數(shù)可以獲得串口的配置,該函數(shù)把當前配置填充到一個DCB結(jié)構(gòu)中。一般在用CREATEFILE打開串行口后,可以調(diào)用GETCOMMSTATE函數(shù)來獲取串行口的初始配置。要修改串行口的配置,應該先修改DCB結(jié)構(gòu),然后再調(diào)用SETCOMMSTATE函數(shù)用指定的DCB結(jié)構(gòu)來設置串行口FEXAMPLEDCBDCBMEMSETIFGETCOMMSTATEHCOMMDCBBAUDRATECBR_9600修改數(shù)據(jù)傳輸率。。。。這里還有很多參數(shù)可以修改,比如,停止位,有無校驗等等,具體參見DCB結(jié)構(gòu)。IFSETCOMMSTATEHCOMMDCB設置新參數(shù)錯誤處理4WRITEFILE()
下載積分: 6 賞幣
上傳時間:2024-03-07
頁數(shù): 8
大?。?0.04(MB)
子文件數(shù):
-
簡介:VC橡皮圓畫法本文主要介紹VC文檔視圖結(jié)構(gòu)里,繪制圖形時的橡皮畫法和VC中畫圓的方法。VC中要實現(xiàn)橡皮效果,需要設置畫筆在同一個地方畫兩次時,畫筆所畫過的地方像素取反。這樣當鼠標在屏幕上移動時,只需要在前一時刻的軌跡上再畫一次以擦出原來軌跡,然后再新的軌跡上畫一次顯示當前軌跡,這樣就可以實現(xiàn)自由拖動的橡皮效果了。另外在下面所列鼠標移動消息響應函數(shù)代碼中還展示了算兩點間距離和利用畫弧函數(shù)畫圓的方法。VOIDCTESTVIEWONMOUSEMOVEUINTNFLAGSCPOINTPOINTCCLIENTDCDCTHISDCSETROP2R2_NOT設置二次擦除;DOUBLETEMPTEMPTHISMY_CIRECLECENTERXTHISOLDPOINTXTHISMY_CIRECLECENTERXTHISOLDPOINTXTHISMY_CIRECLECENTERYTHISOLDPOINTYTHISMY_CIRECLECENTERYTHISOLDPOINTYTEMPSQRTTEMPDCMOVETOMY_CIRECLECENTERXTEMPMY_CIRECLECENTERYDCANGLEARCMY_CIRECLECENTERXMY_CIRECLECENTERYTEMP0360THISOLDPOINTPOINTTEMPTHISMY_CIRECLECENTERXPOINTXTHISMY_CIRECLECENTERXPOINTXTHISMY_CIRECLECENTERYPOINTYTHISMY_CIRECLECENTERYPOINTYTEMPSQRTTEMPDCMOVETOMY_CIRECLECENTERXTEMPMY_CIRECLECENTERYDCANGLEARCMY_CIRECLECENTERXMY_CIRECLECENTERYTEMP0360);
下載積分: 3 賞幣
上傳時間:2024-05-22
頁數(shù): 2
大小: 0.01(MB)
子文件數(shù):
-
簡介:1第5章圖形繪制圖形繪制在VISUALC60中,掌握圖形程序設計方法是非常重要的。因為圖形在任何一個可視化工程項目中都是不可缺少的。CDC(設備環(huán)境)類封裝了圖形繪制所需要的各種操作。本章我們將通過實際例子和較詳細的闡述,來了解和掌握如何使用設備環(huán)境類(CDC)及圖形設備接口(GDI)進行圖形繪制。51設備環(huán)境與設備環(huán)境類設備環(huán)境與設備環(huán)境類(CDC)511設備環(huán)境設備環(huán)境設備環(huán)境也稱設備上下文(DEVICECONTEXT簡稱DC),是計算機物理設備的代表,也是圖形設備接口的主要組成部分。由于WINDOWS是一個與設備無關(guān)的操作系統(tǒng),即WINDOWS不允許直接訪問硬件,如果用戶想將文本和圖形繪制到顯示器或其它設備中去,必須通過“設備環(huán)境”這個抽象層與硬件進行通信,設備上下文對象的作用就是實現(xiàn)WINDOWS的設備無關(guān)性,任何向屏幕上進行輸出的功能都要間接地通過它來完成。設備上下文是WINDOWS的一種數(shù)據(jù)結(jié)構(gòu),它包含了有關(guān)如顯示器或打印機等設備的繪圖屬性信息。所有繪畫都是通過設備上下文對象來實現(xiàn)的,該對象封裝了WINDOWS的畫線、圖形和文本的API函數(shù)。設備上下文允許在WINDOWS下獨立于設備的繪畫。設備上下文不僅能夠被用來在屏幕上繪畫它也可以將繪畫輸出到打印機和圖元文件中。512設備環(huán)境類設備環(huán)境類設備環(huán)境類CDC直接繼承于COBJECT類,該類定義了一類設備對象。CDC對象提供了非常多的成員函數(shù),與設備環(huán)境的顯示器、打印機等一起工作。例如,如果要在顯示器等設備上繪制圖形,我們可以用MFC提供的設備環(huán)境類CDC類,因為CDC類中包含了繪圖所需要的所有成員函數(shù)。同時。MFC還提供了以下幾個CDC的派生類1、CPAINTDC類此類比較特殊,它的構(gòu)造函數(shù)和析構(gòu)函數(shù)都是針對ONPAINT進行的。用戶一旦獲得相關(guān)的CDC指針,就可以將它當做任何設備環(huán)境(包括屏幕、打印機)指針來使用,CPAINTDC類的構(gòu)造函數(shù)會自動調(diào)用BEGINPAINT,而它的析構(gòu)函數(shù)則會自動調(diào)用ENDPAINT。2、CCLIENTDC和CWINDOWDC類CCLIENTDC只能在窗口的客戶區(qū)(不包括邊框、工具條、標題欄、滾動條、菜單欄以及狀態(tài)欄)進行繪圖,點(0,0)通常指的是客戶區(qū)的左上角。其構(gòu)造函數(shù)調(diào)用GETDC,析構(gòu)函數(shù)調(diào)用RELEASEDC函數(shù)。CWINDOWDC允許在窗口的任意位置中進行繪圖,點(0,0)指整個窗口的左上角。其構(gòu)造函數(shù)調(diào)用GETWINDOWDC,析構(gòu)函數(shù)調(diào)用RELEASEDC函數(shù)。33)編譯運行,結(jié)果如圖521所示。說明STOCKOBJECT該函數(shù)檢索預定義的備用筆、刷子、字體或者調(diào)色板的句柄。參數(shù)LTGRAY_BRUSH亮灰色畫筆;BLACK_BRUSH黑色畫筆;NULL_BRUSH空畫筆(相當于HOLLOW_BRUSH);WHITE_BRUSH白色畫筆;BLACK_PEN黑色鋼筆;2、在視圖類的一般函數(shù)中繪圖、在視圖類的一般函數(shù)中繪圖例52在鼠標放下函數(shù)WM_LBUTTONDOWN函數(shù)中繪圖(1)創(chuàng)建一個單文檔應用程序,名為一般函數(shù)繪圖(2)利用MFCCLASSWIZARD將鼠標放下WM_LBUTTONDOWN消息映射到視圖類CMYVIEW中,并添加代碼VOIDCMYVIEWONLBUTTONDOWNUINTNFLAGSCPOINTPOINT定義一個矩形CRECTRECT00100100GETDC檢索整個屏幕的設備上下文環(huán)境CDCPDCGETDCPDCRECTANGLERECT繪制矩形RELEASEDCPDC釋放PDC空間CVIEWONLBUTTONDOWNNFLAGSPOINT(3)編譯運行,鼠標點擊窗口,出現(xiàn)圖522在ONLBUTTONDOWN函數(shù)中繪圖圖522所示的矩形。522CPAINTDC類CPAINTDC對象代表了一個窗口的繪圖畫面,主要用來繪圖。它可以用來處理來自WINDOWS的WM_PAINT消息。改變窗口大小或移動覆蓋在窗上的窗口或?qū)υ捒驎r,WINDOWS會發(fā)送WM_PAINT消息以通知客戶區(qū)的變動,而WM_PAINT消息的處理是在ONPAINT消息處理函數(shù)中進行的。例53在WM_PAINT消息函數(shù)中繪圖(1)創(chuàng)建一個單文檔的應用程序,名為繪圖(2)利用MFCCLASSWIZARD將WM_PAINT消息映射到視圖類VIEW中,并添加代碼VOIDCMYVIEWONPAINTCPAINTDCDCTHIS調(diào)用MOVETO函數(shù),定點到點(10,10)DCMOVETO1010調(diào)用LIO函數(shù),畫線到點(100,100)DCLIO100100畫線調(diào)用畫橢圓函數(shù)ELLIPSE畫橢圓
下載積分: 9 賞幣
上傳時間:2024-03-06
頁數(shù): 57
大小: 1.48(MB)
子文件數(shù):
-
簡介:VC創(chuàng)建方法1新建工程2創(chuàng)建文件
下載積分: 5 賞幣
上傳時間:2024-03-07
頁數(shù): 5
大?。?0.43(MB)
子文件數(shù):
-
簡介:課題第六章WINDOWS的圖形設備接口及WINDOWS繪圖目的要求WINDOWS圖形輸出的原理掌握設備環(huán)境類的概念與使用掌握基本繪圖工具的使用教學重點圖形輸出原理,繪圖工具的使用教學難點圖形輸出原理教學課時4教學方法講練結(jié)合教學內(nèi)容與步驟一、WINDOWS繪圖過程與設備無關(guān)性圖形設備接口GDI管理WINDOWS應用程序圖形的繪制,在應用程序中,通過調(diào)用GDI函數(shù)繪制不同尺寸、顏色、風格的幾何圖形、文本和位圖。這些圖形處理函數(shù)組成了圖形設備接口GDI。是形成WINDOWS核心的三種動態(tài)鏈接庫之一USERDLLWINDOWSDLL設備環(huán)境DC也稱設備描述表或設備上下文,設備環(huán)境中的“設備”是指任何類型的顯示器或打印機等輸出設備。從根本上來說,設備環(huán)境DC是一個由WINDOWS管理的一個數(shù)據(jù)結(jié)構(gòu),它保存了繪圖操作中一些共同需要設置的信息,如當前的畫筆、畫刷、字體和位圖等圖形對象及其屬性,以及顏色和背景等影響圖形輸出的繪圖模式。并實現(xiàn)應用程序、設備驅(qū)動程序和輸出設備之間繪圖命令的轉(zhuǎn)換。形象地說,形象地說,一個設備環(huán)境提供了一張畫布和一些繪畫的工具,我們可以使用不同顏色的工具在上面繪制點、線、圓和文本。MFC提供了兩個函數(shù)CWNDSCREENTOCLIENT和CWNDCLIENTTOSCREEN用于屏幕坐標與客戶區(qū)坐標的相互轉(zhuǎn)換。MFC提供了兩個函數(shù)CDCDPTOLP和CDCLPTODP用于設備坐標與邏輯坐標之間的相互轉(zhuǎn)換。映像模式(設備環(huán)境類對象調(diào)用其成員設置窗口映像模式)設置窗口映像模式映像模式定義了將邏輯單位轉(zhuǎn)化為設備的度量單位以及設備的X方向和Y方向,程序員可在一個統(tǒng)一的邏輯坐標系中操作而不必考慮輸出設備的坐標系情況映射模式映射模式邏輯單位邏輯單位坐標系設定坐標系設定MM_TEXT一個像素X軸正方向朝右,軸正方向朝右,Y軸正方向朝下軸正方向朝下MM_LOMETRIC01毫米X軸正方向朝右,軸正方向朝右,Y軸正方向朝上軸正方向朝上MM_HIMETRIC001毫米X軸正方向朝右,軸正方向朝右,Y軸正方向朝上軸正方向朝上MM_LOENGLISH001英寸X軸正方向朝右,軸正方向朝右,Y軸正方向朝上軸正方向朝上MM_HIENGLISH0001英寸X軸正方向朝右,軸正方向朝右,Y軸正方向朝上軸正方向朝上MM_TWIPS11440英寸X軸正方向朝右,軸正方向朝右,Y軸正方向朝上軸正方向朝上MM_ISOTROPIC系統(tǒng)確定X、Y軸可任意調(diào)節(jié),X、Y軸比例為11MM_ANISOTROC系統(tǒng)確定X、Y軸可任意調(diào)節(jié),軸可任意調(diào)節(jié),X、Y軸比例任意軸比例任意設置原點視口的缺省原點和窗口的缺省原點均為(0,0)通過調(diào)用函數(shù)CDCSETWINDOWG設置設備環(huán)境的窗口原點窗口原點的坐標,調(diào)用CDCSETVIEWPTG重新設置設備的視口原點視口原點的坐標。窗口對應邏輯坐標系上程序員設定的區(qū)域,視口對應實際輸出設備上程序員設定的區(qū)域窗口原點是指邏輯窗口坐標系的原點在視口(設備)坐標系中的位置,視口原點是指設備實際輸出區(qū)域的原點。除了映射模式,窗口和視口也是決定一個點的邏輯坐標如何轉(zhuǎn)換為設備坐標的一個因素。一個點的邏輯坐標按照如下式子轉(zhuǎn)換為設備坐標設備(視口)坐標邏輯坐標–窗口原點坐標視口原點坐標繪圖模式繪圖模式1,邏輯坐標映射為設備坐標(設置原點),邏輯坐標映射為設備坐標(設置原點)。2,直接在設備坐標中繪圖。,直接在設備坐標中繪圖。坐標映射坐標映射設坐標方向為向右,向下,SETWINDOWG50,50,則邏輯坐標(50,50)映射為設備坐標(0,0)。即邏輯坐標中圖形向左向上進行了平移。故窗口原點的設置原則
下載積分: 6 賞幣
上傳時間:2024-03-06
頁數(shù): 11
大?。?0.18(MB)
子文件數(shù):
-
簡介:1建工程NEW選擇標簽PROJECTS在PROJECTNAME中填寫你的工程名(例如MYPROJECT)雙擊WIN32CONSOLEAPPLICATION選擇一個空的工程FINISHOK2見文件NEWFILESADDTOPROJECT選中在FILE中輸入文件名(注意用C語言寫文件明后要加C例如文件名MYFILECC寫就不需要直接就MYFILE或者MYFILECPP)雙擊CSOURCEFILE3進入編輯界面()C語言例子INCLUDE包含文件頭VOIDMAINPRINT“HELLOCN“輸出HELLOCN換行CINCLUDE包含文件頭USINGNAMESPACESTD命名空間VOIDMAINCOUT“HELLOC“ENDL輸出HELLOC,ENDL換行4運行1先編譯找到工具欄上有個感嘆號樣向左數(shù)3個圖標,就是有個小藍色向下的箭頭點擊下,看有沒有錯誤。2運行沒有錯誤就可以運行了就是點下感嘆號后為注釋面我介紹一下吧你首先要打開VC60界面,一般用得較多的是WIN32控制臺應用程序(源程序,擴展名CPP),步驟是1,建立一個工程,“文件”“新建”,出現(xiàn)下面界面顯示你創(chuàng)建的工程的信息。2,再在有一個的工程的條件下,我們再建立一個源文件;“文件”“新建”(快捷鍵CTRIN),出現(xiàn)
下載積分: 6 賞幣
上傳時間:2024-03-07
頁數(shù): 11
大?。?0.28(MB)
子文件數(shù):
-
簡介:如何使用如何使用VC中的快捷鍵中的快捷鍵在平時的編程中熟悉快捷鍵是個能提高效率的方法ALT0激活WKSPACE窗口ALT2激活OUTPUT窗口ALT3激活WATCH窗口ALT4激活VARIABLES窗口ALT5激活REGISTERS窗口ALT6激活MEMY窗口ALT7激活CALLSTACK窗口ALT8激活DISASSEMBLY窗口ALTF2編輯和修改書簽ALTF8選定幾行代碼以后按下ALTF8使選定的代碼按照C語言約定俗成的風格縮進ALTF10在調(diào)試的時候,文件修改過后進行編譯。ALTF12對選定的內(nèi)容進行查詢F12顯示變量或函數(shù)的定義SHIFTF12顯示涉及變量或函數(shù)的地方F7編譯工程CTRLF7編譯當前文件CTRLF5執(zhí)行程序CTRLBREAK停止編譯CTRLW顯示CLASSWIZARDCTRLINSCTRLC拷貝SHIFTDELCTRLX刪除并拷貝到剪貼板SHIFTINSCTRLV粘貼CTRLBALTF9編輯斷點CTRLF9使斷點有效或無效F9增加或刪除斷點F5開始或繼續(xù)程序ALTF11把MEMY窗口切換到下一種顯示模式ALTSHIFTF11把MEMY窗口切換到上一種顯示模式SHIFTF9顯示變量或表達式的內(nèi)容CTRLSHIFTF9刪除所有的斷點CTRLSHIFTF5重新執(zhí)行程序CTRLF10運行到光標那行F10運行一步,不進入內(nèi)部F11運行一條,進入內(nèi)部CTRLF11普通模式和匯編模式的切換SHIFTF5停止調(diào)式
下載積分: 3 賞幣
上傳時間:2024-03-06
頁數(shù): 2
大小: 0.02(MB)
子文件數(shù):
-
簡介:1作者朱彥軍電話0106281143113041147785EMAILZYJZYJ2000通信地址北京圓明園西路一號郵編100094簡介航天醫(yī)學工程研究所助理研究員,主要研究方向虛擬現(xiàn)實和數(shù)字圖像處理VC下實現(xiàn)一個圖像瀏覽器朱彥軍摘要摘要本文基于COM技術(shù),在VISUALC++環(huán)境下,實現(xiàn)了一個簡單的BMP文件和JPEG文件的圖像瀏覽器。并詳細介紹了實現(xiàn)的原理和實現(xiàn)的步驟。關(guān)鍵詞關(guān)鍵詞JPEG、BMP、COM、圖像瀏覽器正文正文一、一、序言序言目前有很多種圖像瀏覽器,例如ACDSEE、WINDOWS自帶的圖像查看器等。其豐富的功能,方便的操作,給我們留下了非常深刻的印象。其實,我們自己也可以編寫一個BMP圖像和JPEG圖像的瀏覽器。利用COM組件中的IPICTURE接口,我們可以編寫出一個功能簡單的BMP圖像和JPEG圖像的瀏覽器。前一段時間,本人編寫了一個圖像瀏覽的程序,搜集了一些資料,對于圖像瀏覽有一些心得,不敢獨專,特寫出來與大家共享。二、二、原理原理由于常用的圖像函數(shù)BITBLT和STRETCHBLT,只對BMP格式的圖像有效,對于JPEG格式的圖像文件,需要進行解碼轉(zhuǎn)換后,才能進行顯示操作。JPEG圖像解碼轉(zhuǎn)換還需要自己編寫代碼,比較麻煩。后來,接觸到COM組件中的IPICTURE接口,采用該接口,使用者不需要自己再編寫大段的代碼,就可以顯示JPEG格式的圖像。當然,顯示BMP格式的圖像文件,那更是不在話下了。要使用IPICTURE接口,有必要先對該圖像接口做個介紹該接口主要管理圖像對象及其屬性,圖像對象為位圖、圖標和其它圖元等提供一種與語言無關(guān)的抽象。與標準的字體對象一樣,系統(tǒng)也提供了對圖像對象的標準實現(xiàn)。其主要的接口是IPICTURE和IPICTUREDISP,后者是由IDISPATCH接口派生以便通過AUTOMATION對圖像的屬性進行訪問。圖像對象支持外部接口IPROPERTYNOTIFYSINK,以便用戶能在圖像屬性發(fā)生改變時做出決定。圖像對象還支持IPERSISTSTREAM接口,以便它能從一個ISTREAM接口的實例對象保存、3HRESULTRENDERHDCHDC渲染圖像用的設備環(huán)境句柄LONGX在HDC上的水平坐標LONGY在HDC上的垂直坐標LONGCX圖像寬度LONGCY圖像高度OLE_XPOS_HIMETRICXSRC在源圖像上的水平偏移OLE_YPOS_HIMETRICYSRC在源圖像上的垂直偏移OLE_XSIZE_HIMETRICCXSRC在源圖像上水平拷貝的數(shù)量OLE_YSIZE_HIMETRICCYSRC在源圖像上垂直拷貝的數(shù)量LPCRECTPRCWBOUNDS指向目標圖元設備環(huán)境句柄的指針三、三、實現(xiàn)步驟實現(xiàn)步驟原理講解完了,下面我們在VISUALC++60下具體實現(xiàn)一個簡單的圖像瀏覽器。為了方便以后的擴展使用,具體的實現(xiàn)都是在一個類中實現(xiàn)的。為了在顯示設備中顯示圖像,首先打開圖像文件,把文件中的數(shù)據(jù)讀到內(nèi)存中去,然后把內(nèi)存中的圖像數(shù)據(jù)與ISTREAM流指針建立關(guān)聯(lián),具體見下面的代碼。IFFILEOPENSTRFILEPATHCFILEMODEREADHGLOBALHGLOBALGLOBALALLOCGMEM_MOVEABLECBLPVOIDPVDATANULLIFHGLOBALNULLIFPVDATAGLOBALLOCKHGLOBALNULLFILEREADHUGEPVDATACBGLOBALUNLOCKHGLOBALCREATESTREAMONHGLOBALHGLOBALTRUE其中,F(xiàn)ILE是CFILE類的對象,PSTM是ISTREAM類型的指針。其次,應用OLELOADPICTUREOLELOADPICTURE函數(shù)創(chuàng)建一個圖像對象,并且從PSTM數(shù)據(jù)流中讀取數(shù)據(jù),來初始化該圖像對象。具體見下面的代碼。IFSUCCEEDEDOLELOADPICTUREPSTMFSTATUSM_SIZETRUEIID_IPICTURELPVOID
下載積分: 5 賞幣
上傳時間:2024-03-07
頁數(shù): 4
大小: 0.05(MB)
子文件數(shù):
-
簡介:程序員之路──如何學習C語言學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習并精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什么捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經(jīng)歷艱苦的過程。一、要讀就讀好書,否則不如不讀所有初學者面臨的第一個問題便是如何選擇教材。好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關(guān)鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。大名鼎鼎的譚浩強教授出了一本C語言程序設計,據(jù)說發(fā)行量有超過400萬,據(jù)我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業(yè)的學生的,而是給那些需要考計算機等級考試的其它專業(yè)學生看的。這本書的主要缺點是例子程序非常不專業(yè),不能教給你程序設計應該掌握的思考方式;程序風格相當?shù)夭缓茫瑫屇沭B(yǎng)成亂寫代碼的惡習;錯誤太多,曾經(jīng)有人指出過這本書的上百個錯誤,其中不乏關(guān)鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以百度一下)KERNIGHAN和RITCHIE的THECPROGRAMMINGLANGUAGE(中譯名C程序設計語言)堪稱經(jīng)典中的經(jīng)典,不過舊版的很多內(nèi)容都已過時,和現(xiàn)在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經(jīng)典最權(quán)威的書,也沒有辦法面面俱到,所以手邊常備一本C語言參考手冊是十分必要的。C語言參考手冊就是CREFERENCEMANUAL,是C語言標準的詳細描述,包括絕大多數(shù)C標準庫函數(shù)的細節(jié),算得上是最好的標準C語言的工具書。順便提一句,最新的C程序設計語言是根據(jù)C89標準修訂的,而C語言參考手冊描述的是C99標準,二者可能會有些出入,建議按照C99標準學習。還有一本C和指針,寫得也是相當?shù)夭诲e,英文名是POINTERSONC,特別地強調(diào)指針的重要性,算是本書的一個特點吧。不過這本書并不十分適合初學者,如果你曾經(jīng)學過C語言,有那么一些C語言的基礎(chǔ)但又不是很扎實,那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。如果你已經(jīng)啃完了一本C語言教材,想要更進一步,那么有兩本書你一定要看。首先是CTRAPSPITFALLS(中譯名C陷井與缺陷),很薄的一本小冊子,內(nèi)容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,里面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什么壞事。然后你可以挑戰(zhàn)一下EXPERTCPROGRAMMING(中譯名C專家編程),書如其名,這本書頗具難度,一旦你仔細讀完并能透徹理解,你便可以放心大膽地在簡歷上寫“精通C語言”了。切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎(chǔ)知識。此時,你要仔細分析自己需要補充哪些內(nèi)容,然后再去書店尋找講述的這些內(nèi)容的書籍。把基礎(chǔ)知識補充完畢再回頭來學習,才會真正的事半功倍。個相同的表達式,在不同的位置加上括號,看看有哪些不同的行為,比如P和(P),又比如ABC、(AB)C和A(BC)等等。自己抄的書上的例子以及改造之后的例子,還有自己“創(chuàng)造”的例子,都應該仔細地歸類保存,并且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。例子之后就是習題了,我建議初學者把所有的習題都獨立做一遍,然后對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到后面才發(fā)現(xiàn)自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數(shù)千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今后繼續(xù)學習的一筆財富。以我自己舉例,閱讀WINDOWS核心編程時(我只閱讀了34的內(nèi)容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用UNIX下的WC工具統(tǒng)計),時隔多日,我早已記不清WINDOWS的系統(tǒng)編程了,但只要花幾分鐘翻出以前的代碼看看,便會重新了然于胸。所謂好記性不如爛筆頭,就是這個道理。仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最后將所有的代碼留下,成為自己的經(jīng)驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術(shù),如果不是學習C語言,你還要具體情況具體分析。寫到最后,還有非常非常重要的一點沒有提及──代碼風格,從最開始學習就必須強迫自己模仿最優(yōu)秀的代碼風格。
下載積分: 5 賞幣
上傳時間:2024-03-07
頁數(shù): 3
大?。?0.03(MB)
子文件數(shù):