ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2025/8/17 7:42:17ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£
Îĵµ¶ÔÏó£ºÊÇÓÃÀ´±£´æÊý¾ÝµÄ¡£ ÊÓͼ¶ÔÏó£ºÊÇÓÃÀ´ÏÔʾºÍ±à¼Êý¾ÝµÄ¡£
Ó¦ÓóÌÐò¿ò¼Ü£º¿ò¼ÜÊÇÓÃÀ´¹ÜÀí²»Í¬ÎĵµÏÔʾ½çÃæµÄ¡£ÀýÈçÄãÓÐÒ»¸öÊý¾ÝÍø¸ñÏÔʾ½çÃæ£¬»¹ÓÐÒ»¸öͼÐÎÏÔʾ½çÃæ£¬ËüÃǵÄÊý¾Ý¿ÉÄܶ¼À´×ÔÄãµÄÎĵµ£¬µ«ÊÇÊÓͼ²»Í¬£¬Ôõô°ìÓÿò¼Ü¡£ÎªÊ²Ã´²»ÓÃÊÓͼ£¿ÎªµÄÊǰѽçÃæ¹ÜÀí¶ÀÁ¢µÄÄóöÀ´¡£
ÎĵµÄ£°å£ºMFC°ÑÎĵµ/ÊÓͼ/¿ò¼ÜÊÓΪһÌ壬ֻҪÄã´´½¨Îĵµ/ÊÓͼ¿ò¼Ü½á¹¹µÄ³ÌÐò£¬±Ø¶¨»áΪÄã´´½¨ÕâÈý¸öÀà¡£Õâ¸ö¹¤×÷ÔÚÔÚÓ¦ÓóÌÐò³õʼ»¯Ê±Íê³É£¬ÈçÏ£º
?
[cpp] view plaincopy
1. BOOL CMyHtmlApp::InitInstance() 2. {
3. CSingleDocTemplate* pDocTemplate; 4. pDocTemplate = new CSingleDocTemplate( 5. IDR_MAINFRAME,
6. RUNTIME_CLASS(CMyHtmlDoc),
7. RUNTIME_CLASS(CMainFrame), // main SDI frame window 8. RUNTIME_CLASS(CMyHtmlView)); 9. AddDocTemplate(pDocTemplate); 10. }
µ¥Îĵµ£º¾ÍÊÇÒ»´ÎÖ»ÄÜ´ò¿ªÒ»¸öÎļþ£¬ºÍÄãµÄÎĵµÀàÐÍÖ§³ÖµÄ¶àÉÙÎ޹ء£ÄãÍêÈ«¿ÉÒÔ×öÒ»¸öµ¥ÎĵµµÄÖ§³ÖËùÓÐͼÏó¸ñʽµÄ³ÌÐò£¬Ö»²»¹ýËüÒ»´ÎÖ»ÄÜ´ò¿ªÒ»¸öÎĵµ°ÕÁË¡£ ¶àÎĵµ£º¾ÍÊÇÄã¿ÉÒÔ´ò¿ª¶à¸öÎļþ£¬ºÍÎĵµÀàÐÍÒ²Î޹ء£ÄãÒ²¿ÉÒÔ×÷Ò»¸ö¿ÉÒÔͬʱ´ò¿ª¶à¸öÎĵµµÄ³ÌÐò£¬µ«ËüÖ»Ö§³ÖÒ»ÖÖÎĵµÀàÐÍ¡£
ºÎʱÐèÒªÎĵµ/ÊÓͼ¿ò¼Ü½á¹¹£¿
Ê×ÏÈÄã¿ÉÒÔ²»Ê¹ÓÃÎĵµÊÓͼÕâÖÖ¿ò¼Ü½á¹¹£¬¼´±ãÊÇÔÚMFCÖС£Äã¿ÉÒÔÔÚÄãÐèÒªµÄʱºòÑ¡ÔñʹÓÃÕâÖÖ·½Ê½¡£Äã¿ÉÒÔÍê³ÉÒ»¸öÖ»ÓÐÊÓͼûÓÐÎĵµµÄ³ÌÐò£¬ÀýÈçÒ»¸ö»ùÓÚ¶Ô»°¿òµÄÓ¦Óá£
ÄÄʲôʱºòÐè񻀯£¿
µ±ÄãÏ뽫ÄãµÄÊý¾Ý²ãºÍ½çÃæ²ã·Ö¿ªµÄʱºò¡£
ͨ³£ÎÒÃǶÔÊý¾ÝµÄ²Ù×÷·ÅÔÚÎĵµÀàÖУ¬ÀýÈç´æÈ¡£¬´ò¿ª£¬¹Ø±Õ¡£ÔÚÕâÀïÄã¿ÉÒÔ¾¡ÇéµÄ¶ÔÄãµÄÊý¾Ý½øÐвÙ×÷£¬Èç¹ûÄãÐèÒª£¬ÔÚ¶ÔÊý¾Ý½øÐÐÁ˸ıäºó£¬¶ÔÊÓͼ×öһϸüУ¬ ÄÇô³ÌÐò»á½«Äã¶ÔÊý¾ÝËù×öµÄ¸Ä±ä³ÊÏÖ¸øÄãµÄ³ÌÐòµÄÓû§¡£Óɴ˿ɼûÊÓͼµÄ×÷ÓþÍÊÇÌṩһ¸öÓû§ºÍÊý¾ÝÖ®¼ä½øÐÐÊý¾Ý½»»»µÄ½çÃæ£¬ËüµÄ×÷ÓþÍÊÇÔÚÐèÒªµÄʱºòÏÔʾ Êý¾Ý£¬²¢ÔÚÐèÒªµÄʱºòÌṩÊäÈë½çÃæ¡£µ±Óû§ÊäÈëºóʵ¼ÊµÄÊý¾Ý²Ù×÷¹¤×÷ÊÇÓÉÎĵµÀàÀ´×öµÄ¡£
ÄÇ¿ò¼ÜÀàÓÐÔÚ×öÊ²Ã´ÄØ£¿
¿ò¼ÜÀàÊÇΪÁ˱ãÓÚ¹ÜÀíÄãµÄÎĵµÀàºÍ ÊÓͼÀà¶ø´æÔڵġ£Í¨³£ÎÒÃǵIJÙ×÷¶¼ÊÇͨ¹ýÊÓͼ´°¿ÚÍê³É£¬ÏûÏ¢ÓÉÊÓͼ½øÐнÓÊÕ²¢ÇÒ½øÐд¦Àí¡£ËùÒÔÏûÏ¢Ó³É䶨ÒåÒ»°ãÔÚÊÓͼÖС£µ«Èç¹ûÒ»¸öÓ¦ÓÃͬʱӵÓжà¸öÊÓ¶ø µ±Ç°»î¶¯ÊÓûÓжÔÏûÏ¢½øÐд¦ÀíÔòÏûÏ¢»á·¢Íù¿ò¼Ü´°¿Ú¡£ÁíÍâ¿ò¼Ü´°¿Ú¿ÉÒÔ·½±ãµÄ´¦Àí·Ç´°¿ÚÏûÏ¢¡£
ÔÙÀ´ËµÒ»±ßµäÐ͵ĵ¥Îĵµ³ÌÐòµÄÉú³É¹ý³Ì£¨²»ÍêÕû£¬Ö»ÌôÓÐÓõģ©
? ?
1¡¢ CwinApp¶ÔÏó±»½¨Á¢£¬Õâ¸ö¶ÔÏóÊÇÈ«¾ÖµÄÇÒÖ»ÄÜÓÐÒ»¸ö£¬Ãû×Ö½ÐtheApp¡£ÕâʱÄã¿ÉÒÔÍê³ÉһЩ¹¤×÷£¬ÀýÈç¶Ô×¢²á±íµÄ²Ù×÷£¬£¨Èç¹ûÄãÏëдһ¸ö²»ÐÞ¸Ä×¢²á±íµÄÈí¼þ£¬ÐèÒªÔÚÕâÀï×öд¹¤×÷£©
2¡¢ ÔÚInitInstance()º¯ÊýÖд´½¨ÎĵµÄ£°å£¬ÎĵµÄ£°åÒÔCruntimClass¾²Ì¬³ÉÔ±Ö¸Õë×ö¹¹Ôì²ÎÊý¡£
3¡¢ Ö´ÐÐMFC¿ò¼ÜĬÈϵÄÃüÁîÐвÎÊý¡£ÃüÁîÐвÎÊýÓкܶàÆäÖÐÖ®Ò»ÊÇ£¬Cmd1Ëü»á´´½¨Ò»¸öÐÂÎļþ¡££¨Èç¹ûûÓÐÃüÁîÐвÎÊýÔòÖ´ÐÐĬÈϵÄID_FILE_NEW£© 4¡¢ ÎĵµÄ£°åµÄʵÀý¸ù¾ÝÈý¸öÀàµÄ¶¯Ì¬´´½¨ÐÅÏ¢´´½¨³öÎĵµ¡¢ÊÓͼ¡¢¿ò¼Ü¡£ 5¡¢ ¶ÔÎĵµ¡¢ÊÓͼ¡¢¿ò¼Ü½øÐгõʼ»¯¡£
o Îĵµ£¬ÊÓͼ£¬¿ò¼ÜÖ®¼äµÄÏ໥×÷Óá£
ÓÉÉÏÃæµÄµäÐ͵ĵ¥Îĵµ³ÌÐòµÄÉú³É¹ý³Ì¿ÉÒÔ¿´³öÒ»¸öÍêÕûµÄÓ¦ÓÃÒ»°ãÓÉËĸöÀà×é³É£º
? ? ? ?
CWinAppÓ¦ÓÃÀ࣬ CFrameWnd¿ò¼ÜÀ࣬ CDocumentÎĵµÀ࣬ CViewÊÓͼÀà¡£
ÎÒ½«ËĸöÀà³£ÓõijÉÔ±º¯ÊýÁгö£¬´ó¼ÒÒ»¿´±ãÖª¡£²»¹ý²ÎÊý£¬
·µ»ØÖµ¾ùδÁгö£¬´ó¼Ò¿ÉÒÔ´ÓMSDNÉÏÁ˽â¸ü¶à¡£¼¸¸öÖØÒªµÄÐ麯ÊýҲδ×ö ˵Ã÷¡£´ó¼Ò×Ô¼º¿´°É¡£
ͨ¹ýÈ«¾Öº¯ÊýAfxGetApp¿ÉÒԵõ½CWinAppÓ¦ÓÃÀàµÄÈ«¾Ö¶ÔÏótheApp. CwinApp
[cpp] view plaincopy
1. //Êý¾Ý³ÉÔ±£º
2. m_pszAppName Ó¦ÓóÌÐòÃû³Æ 3. m_pszExeName ¿ÉÖ´ÐÐÎļþµÄÃû³Æ 4. m_pszProfileName INIÎļþµÄÃû
5. m_pszRegistryKey ×¢²á±í»òINIÎļþµÄKEY 6. m_hInstance ʵÀýµÄ¾ä±ú 7. m_pMainWnd Ϊ¿ò¼Ü´°¿ÚÖ¸Õë 8. //³ÉÔ±º¯Êý£º
9. InitInstance() //³õʼ»¯
10. ParseCommandLine() //Íê³ÉÃüÁîÐеĽâÎö´¦Àí 11. CFrameWnd
12. GetActiveDocument() //µÃµ½µ±Ç°»î¶¯ÎĵµÖ¸Õë 13. GetActiveView() //µÃµ½µ±Ç°»î¶¯ÊÓÖ¸Õë 14. SetActiveView() //ÉèÖõ±Ç°ÊÓͼΪ»î¶¯ÊÓͼ 15. CDocument 16. OnNewDocument() 17. OnOpenDocument() 18. OnSaveDocument() 19. OnFileClose()
20. GetFirstViewPosition() //Îĵµ¶ÔÏóÁ´±íÖеĵÚÒ»¸öÎĵµÎ»Öà 21. GetNextView() //ÏÂÒ»¸ö 22. //ÒÔÉÏÊÇÓÃÀ´±éÀúËùÓкÍÎĵµ¹ØÁªµÄÊÓͼ 23. GetDocTemplate()µÃµ½ÎĵµÄ£°åÖ¸Õë 24. AddView() //Ôö¼ÓÒ»¸öÊÓͼ