• vc 学习笔记 之工程


    记录学习过程中的一些点滴:

    在做工程的时候遇到,在遇到解决方案里的菜单有用到项目里的类来创建变量,对于不在同一目录下的项目来说,这里是用到的的把同类的放到一起,包含头文件(全局用到的)放在inc文件夹里,

    1..lib文件放到lib文件夹里(这里的拷贝是设置vs2005,项目—》右键属性-》配置属性-》生成事件-》生成后事件-》命令行copy $(SolutionDir)$(ConfigurationName)\vss_carinfo.lib ..\lib\vss_carinfo.lib,这样可以不用人工把生成好的lib拷到文件夹,

    2.注意c++常规----附加包含目录设置为:..\inc,

    3.连接器常规-----附加库目录设置为..\lib。

     对余菜单的函数如下

    void CMainFrame::OnMenuTest()
    {//不用包含头文件,因为已经在stdafx.h里加载了#include "IVSS_CarInfoLibrary.h" #pragma comment(lib,"vss_carinfo.lib")
    //
     CtestDlg *dlg = new CtestDlg();
     dlg->DoModal();
     delete dlg;
    }

    注:以下stdafx.h的内容

    // stdafx.h : 标准系统包含文件的包含文件,
    // 或是经常使用但不常更改的
    // 特定于项目的包含文件

    #pragma once

    #ifndef _SECURE_ATL
    #define _SECURE_ATL 1
    #endif

    #ifndef VC_EXTRALEAN
    #define VC_EXTRALEAN  // 从 Windows 头中排除极少使用的资料
    #endif

    // 如果您必须使用下列所指定的平台之前的平台,则修改下面的定义。
    // 有关不同平台的相应值的最新信息,请参考 MSDN。
    #ifndef WINVER    // 允许使用特定于 Windows XP 或更高版本的功能。
    #define WINVER 0x0501  // 将此值更改为相应的值,以适用于 Windows 的其他版本。
    #endif

    #ifndef _WIN32_WINNT  
    // 允许使用特定于 Windows XP 或更高版本的功能。
    #define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
    #endif      

    #ifndef _WIN32_WINDOWS  
    // 允许使用特定于 Windows 98 或更高版本的功能。
    #define _WIN32_WINDOWS 0x0410 // 将它更改为适合 Windows Me 或更高版本的相应值。
    #endif

    #ifndef _WIN32_IE   
    // 允许使用特定于 IE 6.0 或更高版本的功能。
    #define _WIN32_IE 0x0600 // 将此值更改为相应的值,以适用于 IE 的其他版本。值。
    #endif

    #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // 某些 CString 构造函数将是显式的

    // 关闭 MFC 对某些常见但经常可放心忽略的警告消息的隐藏
    #define _AFX_ALL_WARNINGS

    #include 
    <afxwin.h>         // MFC 核心组件和标准组件
    #include <afxext.h>         // MFC 扩展


    #include 
    <afxdisp.h>        // MFC 自动化类

     

    #ifndef _AFX_NO_OLE_SUPPORT
    #include 
    <afxdtctl.h>  // MFC 对 Internet Explorer 4 公共控件的支持
    #endif
    #ifndef _AFX_NO_AFXCMN_SUPPORT
    #include 
    <afxcmn.h>   // MFC 对 Windows 公共控件的支持
    #endif // _AFX_NO_AFXCMN_SUPPORT


    #define __MYSQL_DEF__


    #include 
    "IVSS_Corelibrary.h"
    #pragma comment(lib,"vss_core.lib")

    #include 
    "IVSS_MysqlLibrary.h"
    #pragma comment(lib,"vss_mysql.lib")

    #include 
    "IVSS_GeoLibrary.h"
    #pragma comment(lib,"vss_geo.lib")

    #include 
    "IVSS_WsLibrary.h"
    #pragma comment(lib,"vss_ws.lib")

    #include 
    "IVSS_DmLibrary.h"
    #pragma comment(lib,"vss_dm.lib")

    #include 
    "IVSS_MapLibrary.h"
    #pragma comment(lib,"vss_map.lib")

    #include 
    "IVSS_GuiLibrary.h"
    #pragma comment(lib, "vss_gui.lib")

    #include 
    "IVSS_CarInfoLibrary.h"
    #pragma comment(lib,"vss_carinfo.lib")


    #ifdef _UNICODE
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    #endif
     

    所以在MainFrm.cpp里不用

    #include "CtestDlg.h

    在编译的时候,先生成个部分的,

    最后编译整个方案。

    注:要使菜单不是灰色可点的,必须有与之相对应的函数,而且是在MainFram.cpp里面。而且还要

    BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
     ON_WM_CREATE()
     ON_COMMAND(ID_DB_CONNECT, &CMainFrame::OnDbConnect)
     ON_COMMAND(ID_MIF_IMPORT, &CMainFrame::OnMifImport)
     ON_COMMAND(ID_MAP_ZOOMIN, &CMainFrame::OnMapZoomin)
     ON_COMMAND(ID_MAP_ZOOMOUT, &CMainFrame::OnMapZoomout)
     ON_COMMAND(ID_MAP_SCROLL, &CMainFrame::OnMapScroll)
     ON_COMMAND(ID_MENU_GUI, &CMainFrame::OnMenuGui)
    END_MESSAGE_MAP()   

                    

    待续.....

    大部分转载 小部分自写
  • 相关阅读:
    003 Rabbitmq的简单队列
    002 Rabbitmq的安装
    001 消息中间件--Rabbitmq
    013 mybatis整合
    013 Durid监控
    012 druid数据源
    011 嵌入式容器
    集成支付宝IOS
    2015起航,
    python 创建用户
  • 原文地址:https://www.cnblogs.com/8586/p/1262673.html
Copyright © 2020-2023  润新知