vs.net2005用atl项目创建应用程序

1.新建atl项目,选可执行文件exe及合并存根,不要属性化

 

2. 在头文件相应加入

#include <commctrl.h>
#pragma comment(lib, "comctl32.lib")

 

3._tWinMain函数内修改成这样

extern "C" int WINAPI _tWinMain(HINSTANCE /*hInstance*/, HINSTANCE /*hPrevInstance*/,
                                LPTSTR /*lpCmdLine*/, int nShowCmd)
{
    INITCOMMONCONTROLSEX iccControl;
    iccControl.dwSize = sizeof(iccControl);
    iccControl.dwICC = ICC_STANDARD_CLASSES;
 
    ::SetPriorityClass(::GetCurrentProcess(), IDLE_PRIORITY_CLASS);
    _AtlModule.InitializeCom();
    ::InitCommonControlsEx(&iccControl);
    ::AtlAxWinInit();
    //以上加载常用的设置

    CMainDlg dlgMain;//这里就是新建的对话框模板类了
    dlgMain.DoModal();

    _AtlModule.UninitializeCom();

    return 0;
}

 

3.新建对话框模板类

class CMainDlg :
    public ATL::CAxDialogImpl<CMainDlg>
{
public:
    enum { IDD = IDD_MAINDIALOG };

 BEGIN_MSG_MAP(CMainDlg)
  MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog)
        MESSAGE_HANDLER(WM_CLOSE, OnClose)
  COMMAND_ID_HANDLER(IDOK, OnOK)
 END_MSG_MAP()

 LRESULT OnInitDialog(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/);
    LRESULT OnClose(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/);
 LRESULT OnOK(WORD /*wNotifyCode*/, WORD wID, HWND /*hWndCtl*/, BOOL& /*bHandled*/);

 };

4.最后将项目属性的生成事件里所有设置去除,否则编译的时候就运行这个exe了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值