VC 动态创建菜单

步骤如下:

(1)创建一个基于对话框的应用程序

(2)在对话框的头文件中声明一个CMenu类对象 m_Menu

(3)在工作区窗口中选择FileView选项卡,打开资源头文件(Resource.h),在该文件中定义命令ID

#define ID_MENUCAT						1001	//定义菜单命令ID
#define ID_MENUDOG						1002	//定义菜单命令ID
#define ID_MENUMONKEY					1003	//定义菜单命令ID
(4)在对话框的OnInitDialog方法中创建菜单

	m_Menu.CreateMenu();											//创建菜单窗口
	CMenu m_PopMenu;												//定义菜单类对象
	m_PopMenu.CreatePopupMenu();									//创建弹出菜单窗口
	m_Menu.AppendMenu(MF_POPUP,(UINT)m_PopMenu.m_hMenu,L"动物");	//插入菜单
	m_PopMenu.AppendMenu(MF_STRING,ID_MENUCAT,L"猫");				//插入子菜单
	m_PopMenu.AppendMenu(MF_STRING,ID_MENUDOG,L"狗");				//插入子菜单
	m_PopMenu.AppendMenu(MF_STRING,ID_MENUMONKEY,L"猴子");			//插入子菜单
	m_Menu.AppendMenu(MF_POPUP,-1,L"植物");							//插入兄弟菜单
	m_PopMenu.Detach();												//分离菜单句柄
	SetMenu(&m_Menu);												//将菜单和窗口进行关联

注意:由于动态创建菜单是通过代码创建菜单项,所以不需要加载菜单资源

(5)在对话框的头文件中声明菜单的消息处理函数

	afx_msg void OnMenucat();						//声明菜单消息处理函数
	afx_msg void OnMenudog();						//声明菜单消息处理函数
	afx_msg void OnMenumonkey();					//声明菜单消息处理函数
(6)在对话框的源文件中添加消息映射宏,将命令ID关联到消息处理函数中

	ON_COMMAND(ID_MENUCAT,OnMenucat)								//声明菜单消息处理函数
	ON_COMMAND(ID_MENUDOG,OnMenudog)								//声明菜单消息处理函数
	ON_COMMAND(ID_MENUMONKEY,OnMenumonkey)						//声明菜单消息处理函数
(7)在对话框源文件中添加消息处理函数的实现代码

void CMy81Dlg::OnMenucat()			//"猫"菜单消息处理函数
{
	MessageBox(L"猫菜单被按下");	//菜单按下时弹出消息
}

void CMy81Dlg::OnMenudog()			//"狗"菜单消息处理函数
{
	MessageBox(L"狗菜单被按下");	//菜单按下时弹出消息
}

void CMy81Dlg::OnMenumonkey()		//"猴子"菜单消息处理函数
{
	MessageBox(L"猴子菜单被按下");	//菜单按下时弹出消息
}

运行结果如下:





  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VC是指Visual C++,它是微软公司开发的一种集成开发环境,用于开发Windows平台下的应用程序。 在VC动态创建Server数据库,首先需要安装合适的数据库管理系统(DBMS)软件,例如MySQL、Microsoft SQL Server等。 然后,在VC中通过使用DBMS提供的库文件和函数来进行数据库的动态创建。一般来说,创建数据库需要以下几个步骤: 1. 引入数据库相关的头文件和库文件:根据所选用的DBMS,需要在VC项目中添加对应的库文件和头文件。 2. 建立数据库连接:使用DBMS提供的函数,连接到DBMS服务器。 3. 执行SQL语句:使用DBMS提供的函数,执行SQL语句来创建数据库。例如,可以使用CREATE DATABASE语句来创建数据库。 4. 检查创建结果:通过判断执行SQL语句的返回值,来确定数据库是否成功创建。 以下是一个简单的示例代码,用于在VC动态创建MySQL数据库: ```c++ #include <windows.h> #include <mysql.h> int main() { MYSQL* conn; mysql_init(conn); // 建立数据库连接 if (mysql_real_connect(conn, "localhost", "user", "password", NULL, 0, NULL, 0)) { // 执行SQL语句,创建数据库 if (mysql_query(conn, "CREATE DATABASE testdb")) { printf("Error: %s\n", mysql_error(conn)); } else { printf("Database created successfully.\n"); } } else { printf("Failed to connect to the database server.\n"); } // 关闭数据库连接 mysql_close(conn); return 0; } ``` 上述代码使用MySQL的C API来连接数据库服务器,并执行SQL语句来创建名为"testdb"的数据库。其中,"localhost"代表数据库服务器的地址,"user"和"password"分别是数据库服务器的用户名和密码。 通过上述步骤,就可以在VC动态创建Server数据库。当然,具体的实现方式会因使用的DBMS不同而有所差异。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值