win32记事本程序(一)
2015-12-15 12:22
274 查看
我不会取标题,大体上我想用win32,模仿windows的记事本,写个记事本程序,最后让我的程序和微软的程序在外观和功能上都差不多。这样一来我可以学到一些新知识,巩固旧的知识。
一、首先做个菜单栏吧。建个menu.rc文件,参照微软的记事本,里面写上这些:
最后在主程序的创建窗口函数中,把菜单栏的句柄传进去
这样运行程序,菜单栏就出来了
菜单栏的写法可以参考“windows sdk编程系列文章"。作者不知道是谁
一、首先做个菜单栏吧。建个menu.rc文件,参照微软的记事本,里面写上这些:
//menu.rc #define IDM_MAIN 0x2000 #define IDM_NEW 0x4101 #define IDM_OPEN 0x4102 #define IDM_SAVE 0x4103 #define IDM_SAVEAS 0x4104 #define IDM_SETTING 0x4105 #define IDM_PRINT 0x4106 #define IDM_EXIT 0x4107 #define IDM_DUDO 0x4201 #define IDM_CUTE 0x4202 #define IDM_COPY 0x4203 #define IDM_PASTE 0x4204 #define IDM_DELETE 0x4205 #define IDM_FINDE 0x4206 #define IDM_FINDENEXT 0x4207 #define IDM_REPLACE 0x4208 #define IDM_GOTO 0x4209 #define IDM_SELETEALL 0x4210 #define IDM_DATE 0x4211 #define IDM_WORDWRAP 0x4301 #define IDM_FONT 0x4302 #define IDM_STATUS 0x4401 #define IDM_HELP 0x4501 #define IDM_ABOUT 0x4502 IDM_MAIN menu discardable BEGIN popup "文件(&F)" BEGIN menuitem "新建(&N)", IDM_NEW menuitem "打开文件(&O)", IDM_OPEN menuitem "保存(&S)", IDM_SAVE menuitem "另存为(&A)", IDM_SAVEAS menuitem separator menuitem "页面设置(&U)", IDM_SETTING menuitem "打印(&P)", IDM_PRINT menuitem separator menuitem "退出(&E)", IDM_EXIT END popup "编辑(&E)" BEGIN menuitem "撤销(&U)", IDM_DUDO GRAYED menuitem separator menuitem "剪切(&T)", IDM_CUTE GRAYED menuitem "复制(&C)", IDM_COPY GRAYED menuitem "粘贴(&P)", IDM_PASTE menuitem "删除(&L)", IDM_DELETE GRAYED menuitem separator menuitem "查找(&F)", IDM_FINDE GRAYED menuitem "查找下一个(&N)",IDM_FINDENEXT GRAYED menuitem "替换(&R)", IDM_REPLACE menuitem "转到(&G)", IDM_GOTO GRAYED menuitem separator menuitem "全选(&A)", IDM_SELETEALL menuitem "时间日期(&D)", IDM_DATE end popup "格式(&O)" BEGIN menuitem "自动换行(&T)", IDM_WORDWRAP menuitem "字体(&T)", IDM_FONT END popup "查看(&V)" BEGIN menuitem "状态栏(&S)", IDM_STATUS GRAYED END popup "帮助(&H)" BEGIN menuitem "查看帮助(&H)", IDM_HELP menuitem separator menuitem "关于记事本(&A)", IDM_ABOUT END END
最后在主程序的创建窗口函数中,把菜单栏的句柄传进去
hwnd = CreateWindow (szAppName, TEXT ("无标题-记事本"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, LoadMenu(hInstance,MAKEINTRESOURCE(IDM_MAIN)), hInstance, NULL) ;
这样运行程序,菜单栏就出来了
菜单栏的写法可以参考“windows sdk编程系列文章"。作者不知道是谁
相关文章推荐
- HDU 2845 dp压缩元素 借助递推
- Jmeter参数化的4种方法
- 中级篇——背包问题1(01背包)
- OC NSArray数组排序
- Json详解
- JavaScript获取当前cpu使用率的方法
- UI-9-UITableView
- CSS里的各种水平垂直居中
- IntelliJ IDEA常用快捷键整理
- 常识
- 操作系统存储器管理练习题
- js-----时间的联动框
- HDOJ--2001
- HDU 4897 Little Devil I
- SlidingPaneLayout实践
- mac Yosemite(OS X 10.10)下使用USB Lan Ky RD9700无线网卡
- mysql cmd 链接方法 导入sql
- QTcreator 中的一些常用的快捷键
- U3D 的一些基础优化
- 一首老歌