久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

MFC中字符串操作方法的總結

時間:2019-05-13 16:14:11下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《MFC中字符串操作方法的總結》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《MFC中字符串操作方法的總結》。

第一篇:MFC中字符串操作方法的總結

在VC的編程中,常常遇到需要對字符串進行格式化處理,所謂的格式化,我自己的定義是如下的過程,例如說,需要輸出一個字符串“This is charpter %d”,其中的%d,用變量int chp來代替,生成這種字符串的操作我成為“格式化”,下面介紹一下有關的操作:

1.CString類,這個類在MFC中如果啟用了UNICODE碼后,就是CStringT類,注意在查找

MSDN時,需要查找的是CStringT這個類,該類與很多操作都是兼容的,特別是使用UNICODE碼的情況下,該類提供了一個格式化字符串的函數:

Format函數,該函數可以直接將格式化的字符串用%d, %s之類的格式符來描述,舉個例子來說:

CStringmystr;

inttimes = 0;

mystr.Format(_T(“This is my %d try!”), times);

值得說明的是CString提供了字符串操作的一系列函數,包括比較大小,大小寫轉換,字符串的連接,字符串的相等和尋找等,需要時,直接參考MSDN就可以了

2.sprintf: 雖然說CString類有著許多的優點,但是并不能包辦所有的操作,最直接的一個

問題就是CString并不能直接賦值給一個字符串變量,即CString類并沒有提供一種調用,可以將其內部的字符串賦值給一個字符串變量,如果要進行這種操作,則必須手動編程完成,但是某些函數中又必須要用到字符串數組類型,這個時候又面臨一個問題,即字符串數組該怎樣來格式化,這個時候需要調用sprintf函數,該函數是個全局函數,其調用的格式如下:

sprintf(buffer, “ String:%sn”, s);

該函數中,buffer是需要被格式化的字符串數組,而“”中的內容就是格式化內容,最后的則是各種數字或這字符串等,該函數很方便使用

目前用到的格式化字符串操作,用以上兩種思路都可以基本上解決,在使用注意UNICODE就行了,如果用到了UNICODE碼,注意用_T()來進行轉換

第二篇:MFC實踐總結

mfc編程實驗總結報告 知識總結+個人心得 2011年暑期mfc編程實驗報告 mfc編程實驗個人總結報告

一、mfc類、函數等知識小結:

1、settimer(1, m_intlevel, null);在mfc程序中settimer被封裝在cwnd類中,調用就不用指定窗口句柄了于是settimer函數的原型變為: uint settimer(uint nidevent,uint nelapse,void(callback export *lpfntimer)(hwnd,uint ,yint ,dword))當使用settimer函數的時候,就會生成一個計時器。函數中nidevent指的是計時器的標識,也就是名字。nelapse指的是時間間隔,也就是每隔多長時間觸發一次事件。第三個參數是一個回調函數,在這個函數里,放入你想要做的事情的代碼,你可以將它設定為null,也就是使用系統默認的回調函數,系統默認認的是ontime函數。這個函數怎么生成的呢?你需要在需要計時器的類的生成ontime函數:在classwizard里,選擇需要計時器的類,添加wm_time消息映射,就自動生成ontime函數了。然后在函數里添加代碼,讓代碼實現功能。每隔一段時間就會自動執行一次。例: settimer(1,1000,null);1:計時器的名稱;

1000:時間間隔,單位是毫秒; null:使用ontime函數。

當不需要計時器的時候調用killtimer(nidevent);例如:killtimer(1);killtimer(1);

2、typedef struct{};(1)struct{ int x;int y;}test1;好,定義了 結構 test1,test1.x 和 test1.y 可以在語句里用了。(2)struct test {int x;int y;}test1;定義了結構 test1,test1.x 和 test1.y 可以在語句里用了。

與(1)比,省寫 了 test(3)typedef struct test {int x;int y;}text1,text2;此處時說了這種結構體(類型)別名 叫 text1 或叫 text2,而不是定義了結構體變量.真正在語句里用,還要寫: text1 test1;//定義結構體變量

然后好用 test1.x test1.y 或寫 text2 test1;//定義結構體變量

然后好用 test1.x test1.y

3、invalidate();//讓客戶區無效,即時重新繪制客戶區 void invalidate(bool berase = true);該函數的作用是使整個窗口客戶區無效。窗口的客戶區無效意味著需要重繪,例如,如果一個被其它窗口遮住的窗口變成了前臺窗口,那么原來被遮住的部分就是無效的,需要重繪。這時windows會在應用程序的消息隊列中放置wm_paint消息。mfc為窗口類提供了wm_paint的消息處理函數onpaint,onpaint負責重繪窗口。視圖類有一些例外,在視圖類的onpaint函數中調用了ondraw函數,實際的重繪工作由ondraw來完成。參數berase為true時,重繪區域內的背景將被擦除,否則,背景將保持不變。

4、cdc::rectangle(左上x,左上y,右下x,右下y);使用該函數畫一個矩形,可以用當前的畫筆畫矩形輪廓,用當前畫刷進行填充。

函數原型:bool rectangle(hdc hdc, int nleftrect, int ntoprect, int nrightrect, int nbottomrect);

hdc:設備環境句柄。

nleftrect:指定矩形左上角的邏輯x坐標。ntoprect:指定矩形左上角的邏輯y坐標。nrightrect:指定矩形右下角的邏輯x坐標。nbottomrect:指定矩形右下角的邏輯y坐標。

5、cbrush:: cbrush//畫刷類 eg:cbrush brushstick(rgb(127, 127, 127));四種構造函數: cbrush();cbrush(colorref crcolor);cbrush(int nindex, colorref crcolor);cbrush(cbitmap* pbitmap);參數說明: crcolor指定畫刷的前景色(rgb方式)。如果畫刷是陰影線型的,則指定陰影線的顏色。nindex指定畫刷陰影線采用的風格,取值如下: hs_bdiagonal45度的向下影線(從左到右)hs_cross水平和垂直方向以網格線作出陰影 hs_diagcross 45度的網格線陰影 hs_fdiagonal 45度的向上陰影線(從左到右)

hs_horizontal 水平的陰影線 hs_vertical 垂直的陰影線 pbitmap指向cbitmap對象的指針,該對象指定了畫刷要繪制的位

圖。

構造函數說明:

6、messagebox(game over!);messagebox(null,text,title,button);參數title:string類型,指定消息對話框的標題。text:指定消息對話框中顯示的消息,該參數可以是數值數據類型、字符串或boolean值。icon:icon枚舉類型,可選項,指定要在該對話框左側顯示的圖標。button:button枚舉類型,可選項,指定顯示在該對話框底部的按鈕。default:數值型,可選項,指定作為缺省按鈕的按鈕編號,按鈕編號自左向右依次計數,缺省值為1,如果該參數指定的編號超過了顯示的按鈕個數,那么messagebox()函數將使用缺省值返回值integer。函數執行成功時返回用戶選擇的按鈕編號(例如1、2、3等),發生錯誤時返回-1。如果任何參數的值為null,messagebox()函數返回null。

函數原型:

messagebox.show(text,title,messageboxbuttons,messageboxicon ,messageboxdefaultbuttons)參數說明:

(1)text:必選項,消息框的正文。

(2)title:可選項,消息框的標題。(3)messageboxbuttons:可選項,消息框的按鈕設置,默認只顯示【確定】按鈕。ok――確定 okcancel――確定和取消 abortretryignore――終止、重試和忽略 yesnocancel――是、否和取消 yesno――是和否 retrycancel――重試和取消

(4)messageboxicon:對話框中顯示的圖標樣式,默認不顯示任何圖標。

question――問號 information、asterisk――i號 error、stop、hand――錯誤號 warning、exclamation――!號 none――不顯示任何圖標

(5)messageboxdefaultbuttons:可選項,對話框中默認選中的按鈕設置。

defaultbutton1――第1個button是默認按鈕 defaultbutton2――第2個button是默認按鈕 defaultbutton3――第3個button是默認按鈕

7、memcpy(拷貝目的地,拷貝對象,拷貝長度);包含在頭文件#include

函數原型:

extern void *memcpy(void *destin, void *source, unsigned n);功能:

由source指向地址為起始地址的連續n個字節的數據復制到以destin指向地址為起始地址的空間內。eg: int a=5,b=9;memcpy(a,b,sizeof(a));//將b按位拷給a;說明:

1.source和destin所指內存區域不能重疊,函數返回指向destin的指針。2.與strcpy相比,memcpy并不是遇到

主站蜘蛛池模板: 欧美激情日韩精品久久久| 精品国产综合成人亚洲区2022| 国产人妻久久精品二区三区特黄| 一本色道久久综合亚洲精品不卡| 亚洲精品久久久久久不卡精品小说| 国产精品美女乱子伦高潮| 先锋影音av最新资源| 国产av无码国产av毛片| 中文字幕大香视频蕉免费| 亚洲国产成人高清影视| 亚洲国产丝袜精品一区| 国产午夜无码福利在线看网站| 亚洲熟妇无码一区二区三区| 免费午夜无码视频在线观看| 久久婷婷大香萑太香蕉av人| 欧洲熟妇色xxxx欧美老妇| 97无码人妻福利免费公开在线视频| 精品视频一区二区三区在线观看| 国产三级| 最新精品国偷自产在线老年人| 一本一本久久a久久综合精品| 亚洲熟女综合一区二区三区| 国产精品免费久久久久影院| 人妻夜夜爽天天爽爽一区| 亚洲欧美综合区丁香五月小说| 99久久e免费热视频百度| 国产成熟妇女性视频电影| 亚洲国产av玩弄放荡人妇系列| 无码专区久久综合久中文字幕| 精品97国产免费人成视频| 噜噜吧噜吧噜吧噜噜网a| 天天躁夜夜躁狠狠久久| 少妇人妻无码专区毛片| 久久精品人人爽人人爽| 青青草无码精品伊人久久7| 国产亚洲精品久久久久婷婷图片| 亚洲精品一区三区三区在线观看| 粉嫩大学生无套内射无码卡视频| 亚洲国产精品久久久久秋霞影院| 国产免费永久精品无码| 男男gv白嫩小受gv在线播放|