vs.net2005用atl项目创建应用程序
2007-06-27 22:18
309 查看
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了
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了
相关文章推荐
- VS.net调试ASP.NET运行项目出错:无法创建或打开应用程序
- 如何在 VisualC # .NET 和 VisualC # 2005 中创建安装项目用于 Windows 服务应用程序
- 用vs.net新建web项目时提示错误“尝试创建web项目或打开位与http://localhost/webapplication1的web项目时无法与服务器建立连接”
- 如何为 Visual Studio 2005 或 Visual Studio .NET 安装和部署项目创建快捷方式
- 用VS.NET打开或创建web项目出错的解决办法
- VS2005 起始页 最近的项目中 没有打开/创建网站选项
- 技巧和诀窍;在VS 2005里优化ASP.NET 2.0Web项目的Build性能
- C#winform 选择的文件是解决方案文件,但是用此应用程序的较新版本创建的,无法打开(低版本的VS无法打开高版本项目)
- 技巧和诀窍;在VS 2005里优化ASP.NET 2.0Web项目的Build性能
- 在VS.net 2008中利用ATL来创建COM关于接口文件的引用变动
- vs .net 2005 打开VSS项目时出现:"could not find the visual sourcesafe internet web service connection"的解决方案
- 利用VS.NET为PDA应用程序创建饼图控件
- 应用程序框架实战三十八:项目示例VS解决方案的创建(一)
- VS2010/VS2013项目创建 ADO.NET连接mysql/sql server详细步骤
- 解决VS.NET打开或创建web项目出错的办法
- 技巧和诀窍:用VS 2005创建可重用的项目和部件模板
- 打开项目时提示如下错误:Visual Studio .NET 无法创建应用程序...
- VS.net调试ASP.NET运行项目出错:无法调试应用程序
- VS 2005 安装Asp.net Ajax扩展后项目模板丢失问题的解决
- VS2015创建的Asp.net WebApi默认项目在CentOS7+Mono4.2.2+jexus5.8运行不起来的解决方案