¡¡

Ïà¹Ø·ÖÀà VCÈëÃÅ ->VC ->VCShare

°Ë »ù±¾²Ù×÷

¹Ø¼ü×Ö »ù±¾²Ù×÷


Ö÷ÒªÄÚÈÝ£º

Workspace(ClassView,ResoreceView,FileView)

²Ëµ¥

App Wizard£¨Ó¦ÓóÌÐòÏòµ¼£©

Class Wizard£¨ÀàÏòµ¼£©

±ê×¼¿Ø¼þ

³£Óõ÷ÊÔ·½·¨



VCµÄ´°¿Ú·ÖΪÈý²¿·Ö£¬ÕýÎÄ´°¿Ú£¨ÓÒÉϽǣ©£¬¹¤×÷´°¿Ú£¨×ó²à£©£¬Êä³ö´°¿Ú£¨Ï²ࣩ¡£

¹¤×÷´°¿ÚÓÐÈý¸ö±êÇ©£¬ClassView,ResoreceView,FileView;µ¥»÷¡°+¡±£¬¡°¡ª¡±´ò¿ªÎļþ¼Ð£»¶ÔûÓдò¿ªµÄÎļþ¼Ð»òÎļþ£¬Ë«»÷´ò¿ª£»¶ÔÓÚ´ò¿ªµÄÎļþ¼ÐË«»÷¹Ø±Õ¡£ÔÚClassViewÖÐË«»÷ÀàÃû£¬

ÕýÎÄ´°¿ÚÏÔʾÀඨÒ壬˫»÷ÀàµÄ³ÉÔ±±äÁ¿²é¿´¶¨Ò壬˫»÷º¯Êý½øÈ뺯ÊýʵÏÖ¡£¶Ôº¯ÊýÃûÓÒ¼ü£¬

ÓÐÁ½¸ö¹¦ÄܱȽÏÓÐʵÓüÛÖµ£ºcalls,called by.¶ÔÀàÃû½øÐÐÓÒ¼ü£¬ÓÐÁ½¸ö¹¦ÄÜÊ®·ÖÓмÛÖµ£º

Ôö¼Ó³ÉÔ±±äÁ¿£¬Ôö¼Ó³ÉÔ±º¯Êý¡£



³£¼û²Ëµ¥£º

Edit->Advanced\Format Selection Alt+F8 ¶ÔÑ¡ÖжÔÏó½øÐÐËõÅÅ

Edit->Advanced\Make Selection Uppercase Ctrl+Shift+U °ÑÑ¡Öв¿·Ö¸Ä³É´óд

Edit->Advanced\Make Selection Lowercase Ctrl+U °ÑÑ¡Öв¿·Ö¸Ä³ÉСд

Edit×îºóµÄÈý¸ö²Ëµ¥Ã»Óжà´óʵÓüÛÖµ£¬ÒòΪÈç¹ûÒª²é¿´Ò»¸öÀàµÄ³ÉÔ±£¬¿ÉÒÔÓÃClassName::µÄÐÎʽ¿´£¬×Ô¶¯»áÁгö³ÉÔ±£¬ÄãÖ»Ðè´ò¸ö¿ªÍ·ÔÙ¿Õ¸ñ£¨»òÆäËü·Ç±êʶ·û×Ö·û£©¾Í¿ÉÒÔÁË£¬×Ô¶¯»áÆ¥ÅäµÚÒ»¸ö·ûºÏÌõ¼þµÄ³ÉÔ±¡£µ±Äã´òÍ꺯ÊýÃû£¬ÔÙ´òÕýÀ¨ºÅʱ£¬¾Í»áÏÔʾÓйØÐÅÏ¢£¬°üÀ¨ÔÚº¯Êý¶¨ÒåͬһÐеÄ×¢ÊÍ¡£

View->ClassWizard Ctrl+w ±à¼­Ó¦ÓóÌÐòÖеÄÀà

View->DebugWindow Ctrl+F10£¬ÔËÐе½¹â±ê´¦£¬ËüµÄ×ÓÏî¾Í¿ÉÒÔʹÓÃÁË¡£

Debug²Ëµ¥»ù±¾É϶¼»áʹÓã¬Set Active Configuration,ÉèÖÃDebug·½Ê½»òRelease·½Ê½¡£

#ifdef _DEBUG

#endif

Õâ¸öºê¶¨ÒåÖ®¼äµÄÓï¾ä£¬ÔÚRelease·½Ê½Ï²»»á±»Ö´ÐС£

Tool->Customize->Toolbars¶¨Ò幤¾ßÌõ



AppWizardÓм¸²½£¬Ö»ÓеÚÒ»£¬µÚ¶þ£¬×îºóÒ»²½±È½ÏÖØÒª¡£

µÚÒ»²½Ñ¡Ôñ£ºMFC A ppWizard(exe);

µÚ¶þ²½£ºSingle documentµ¥Îĵµ

Multiple document¶àÎĵµ

Dialog basede »ùÓÚ¶Ô»°¿ò

×îºóÒ»²½£¨»ùÓÚ¶Ô»°¿òûÓУ©£º

Base Class:

Ñ¡ÔñÊÓͼÀàµÄ»ùÀ࣬¸÷»ùÀà²î±ð±È½ÏÃ÷ÏÔ£¬´ó¼ÒÊÔһϾÍÐÐÁË¡£Ó¦ÓóÌÐòÏòµ¼»á×Ô¶¯Éú³ÉÓ¦ÓóÌÐòÀ࣬ÎĵµÄ£¿éÀ࣬¿ò¼ÜÀ࣬ÎĵµÀ࣬ÊÓͼÀà¡£¼òµ¥³ÌÐò¾ø´ó²¿·Ö´¦Àí¶¼ÔÚÊÓͼÀà¡£µ±Êý¾Ý½Ï¸´ÔÓʱ£¬»áÓõ½ÎĵµÀà¡£



Ctrl+W´ò¿ªClassWizard

¸Ã¶Ô»°¿ò°üº¬ÒÔÏÂÑ¡Ï¡£

1£¬ Message MapsÑ¡Ï£º¹ÜÀíÏûÏ¢ºÍ³ÉÔ±º¯ÊýÖ®¼äµÄÁ¬½Ó¡£

2£¬ Member VariablesÑ¡Ï£ºÊ¹Óû§¼ÓÈë»òɾ³ý³ÉÔ±±äÁ¿£¨Óë¿Ø¼þ¹ØÁªµÄ£©¡£

3£¬ AutomationÑ¡Ï£ºÌṩ¸÷ÖÖÌØÐÔÀ´Ö§³ÖAutomation,ʹÓû§·½±ãµØÔöɾAutomationµÄÊôÐԺͷ½·¨¡£

4£¬ Active EventsÑ¡Ï£ºÌṩ¸÷ÖÖÌØÐÔÀ´Ö§³ÖActiveX,ʹÓû§·½±ãµØÔöɾÊôÐÔºÍÏìÓ¦º¯Êý¡£

5£¬ Class InfoÑ¡Ï£ºÏÔʾÀàµÄÐÅÏ¢£¬ÔÊÐíÓû§´´½¨ÐÂÀ࣬ÒÔ±ãÖ§³Ö¶Ô»°¿òºÍÓиñʽµÄÊÓͼ¡£



Message Maps

1 Projcect ¹¤³Ì£¬Ò»°ã²»±ØÐ޸ģ¬ÒòΪһ°ãÖ»ÓÐÒ»¸ö¡£

2,Class name ˈ̞

3£¬Object IDsÁгöÁ˵±Ç°ËùÑ¡ÖжÔÏóµÄIDºÅ£¬°üÀ¨ÄܲúÉúÏûÏ¢µÄ²Ëµ¥Ï¶Ô»°¿ò¿Ø¼þµÈ¡£

4£¬messageÁгöÁËObject IDs¿òÖÐËùÑ¡Öеĵ±Ç°Ïî¿É´¦ÀíµÄÏûÏ¢¼°¿ÉÒÔ±»ÖØÐ´µÄMFCº¯Êý¡£Ë«»÷ÏûÏ¢Ï൱ÓÚAddFunction.

5,Member functionsÁбí¿òÁгöÁËClass name¿òµ±Ç°Àà°üº¬µÄËùÓгÉÔ±º¯Êý¡£±ê×¢VµÄÊÇÐ麯Êý£¬±ê×¢WµÄÊÇWindowsÏûÏ¢¡£



Member VariablesÑ¡Ï£º

Ë«»÷ID,µ¯³öÔö¼Ó³ÉÔ±±äÁ¿¶Ô»°¿ò£º

CategoryÓÐÁ½ÖÖÑ¡Ôñ£¬Öµ£¬¿ØÖÆ£¬Ã¿¸ö¿Ø¼þ¿ÉÒÔºÍÒ»¸öÖµÀàÐÍÊý¾ÝÏà¹ØÁª£¬Í¬Ê±»¹¿ÉÒÔºÍÒ»¸ö¿ØÖÆÀàÐÍÊý¾ÝÏà¹ØÁª¡£



µ±Äã±à¼­Ò»¸ö¶Ô»°¿òʱ£¬»á¶àÒ»¸ö¹¤¾ßÌõ£¬ÉÏÃæÓÐÐí¶à±ê×¼¿Ø¼þ¡£Èç¹ûÄ㲻СÐİÑËü¹ØµôÁË£¬ÔÚ±ê×¼¹¤¾ßÌõ¸½½üµÄ¿Õ°×´¦ÓÒ¼ü£¬Èç²Ëµ¥Óұߣ¬½«Controls¹´ÉÏ¡£½«Ò»¸ö¿Ø¼þ¼Óµ½¶Ô»°¿òÓÐÁ½ÖÖ·½·¨£º

1£¬ Ö±½ÓÍϵ½¶Ô»°¿òÉÏ¡£

2£¬ µ¥»÷Ò»¸ö¿Ø¼þ£¬È»ºóÔÚ¶Ô»°¿òÉÏ»­¡£





µ÷ÊÔµÄ×î³£ÓõÄÈýÖÖ·½·¨£¬¼ÙÈçÎÒÃÇ»³ÒÉÒ»¸öÕûÐαäÁ¿xÓÐÎÊÌâµÄ»°£¬¿ÉÒÔ£º

1£¬ CString str;

str.Format(¡°%d¡±,x);//ºÍprintf·Ç³£ÏàËÆ

MessageBox(str);

Óŵ㣺µãÈ·¶¨ºó³ÌÐò²Å»á¼ÌÐøÔËÐС£

ȱµã£ºÈç¹û´ÎÊýÌ«¶à£¬¹ýÓÚÀË·Ñʱ¼äºÍ¼üÅÌ¡£

2,Ctrl+F10ÔËÐе½¹â±ê´¦£¬ÔÚWatch´°¿ÚÖÐnameÏîÊäÈëx,£¬ºóÃæ»áÏÔʾֵ¡£

Óŵ㣺¼òµ¥£¬¿ÉÒԲ鿴ËùÓеÄÖµ¡£

ȱµã£ºÎÞ·¨¿´µ½µÚ¶þ´ÎÔËÐе½´Ë´¦µÄÇé¿ö¡£

3£¬ #ifdef _DEBUG

afxDump<
#endif

½«½á¹ûÏÔʾÔÚOutPut£¬²»ÄÜÔÚRelease״̬Ï¡£Ctrl+F5ËÆºõÎÞЧ£¬F5¿ÉÒÔ¡£

afxDump.SetDepth(1);
ÉèÖÃÉî¶È,Èçmaps,arrays,ËüÖ»´ò³öÓм¸¸ö¿ÉÔªËØ,ÎÒÃÇÓÃÉÏÃæµÄÕâ¸öº¯Êý,Ëü»á½«ËùÓеÄÄÚÈÝ´ò³öÀ´.
#ifdef _DEBUG
char test[] = "0123456789\n";
afxDump.HexDump( "--", (BYTE*) test, 11, 6 );
#endif
½á¹ûΪ:
-- 30 31 32 33 34 35
-- 36 37 38 39 0A
µÚÒ»¸ö²ÎÊý,ÐÐÊ׵ĴòÍ·×Ö·û.
µÚ¶þ¸ö²ÎÊý,Òª´òµÄÄÚÈÝ.
µÚÈý¸ö²ÎÊý,Òª´òµÄÔªËØ¸öÊý.
µÚËĸö²ÎÊý,ÿÐеĸöÊý.

4,TRACE(...), TRACE0, TRACE1, TRACE2, TRACE3 Ò²Ö»ÄÜÔÚµ÷ÊÔʱÓÃ×¢Òâ´ò×Ö·û´®Ê±Ó㤶ÈÏÞÖÆ,°üÀ¨½áÊø·ûÔÚÄÚ,²»³¬¹ý512¸ö×Ö·û.

5.ÔÚDebug״̬ÏÂ
F9ÉèÖöϵãºó,F5µ½ÏÂÒ»¸ö¶Ïµã,F10ÏÂÒ»ÐÐ,F11½øÈ뺯Êý(°üÀ¨ÏµÍ³º¯Êý)ÄÚ²¿,Shift + F11³öÀ´.
F5ºó,Debug²Ëµ¥ÓÐÏàÓ¦µÄ²Ëµ¥Ïî.
F5ºó,View->Debug WindowµÄ×Ӳ˵¥Ïî±È½ÏÓÐÓÃ.
Watch ²é¿´ÄãÖ¸¶¨µÄ±äÁ¿
variables ÏÔʾauot±äÁ¿,local±äÁ¿,thisµÄÖµ
memory ÏÔʾָ¶¨ÄÚ´æµØÖ·´æ´¢µÄÖµ
call stack ÏÔʾº¯Êýµ÷ÓùØÏµ
registers ¼Ä´æÆ÷µÄÖµ
Disabblemble »ã±à´úÂë

ÆäʵReleaseÏÂÒ²¿Éµ÷ÊÔF5
Alt + f7 ¹¤³ÌÉèÖÃ
c\c++ Generate Browse info Ñ¡ÉÏ.
Debug info Ñ¡ Progame database for edit and continue
Link Generate debug info Ñ¡ÉÏ
Link incrementally Ñ¡ÉÏ




ÉÏһƪ:Æß ¹¤¾ßÀ¸
ÏÂһƪ:¾Å ¼¯ºÏÀàʹÓÃÐĵÃ

¡¡

ƒ