代码改变世界

随笔档案-2011年09月

win32 GetMenu()和GetSubMenu()

2011-09-28 22:59 by 捣乱小子, 5801 阅读, 收藏, 编辑
摘要: 这两个函数还是挺有用的。 首先GetMenu()是获取菜单项的菜单句柄,注意这里菜单,而不是子菜单,当然里边还可以有几个菜单项。 然后GetSubMenu()是获取子菜单的句柄。很有趣的是,子菜单可能还存在子菜单,如此递归,可以往复使用,这取决于hMenu参数。 hMenu = ::GetMenu(hwnd); hMenu = ::GetSubMenu(hMenu,1); ::DeleteMenu(hMenu,0,MF_BYPOSITION); 此代码就达到了删除第二个菜单项的第一个子菜单的目的。 但是如果再次调用SetMenu的话会出错,这里要请高手解答,小弟不明。 ... 阅读全文

win32建立弹出式菜单

2011-09-28 20:17 by 捣乱小子, 664 阅读, 收藏, 编辑
摘要: 先秀一下MSDN中学到的语句:if any,中文翻译:如果有的话(做做笔记啦)。在新建了一个菜单资源之后,将菜单的属性设置Popup属性为true。先要加载菜单资源LoadMenu,接下来要在鼠标右键按下消息上显示弹出式菜单了TrackPopupMenu。查看了MSDN这个函数之前还是要利用另一个函数来获得子菜单的,hMenu[in] Handle to the shortcut menu to be displayed. The handle can be obtained by calling CreatePopupMenu to create a new shortcut menu, o 阅读全文

win32在程序当中引用菜单

2011-09-28 12:47 by 捣乱小子, 346 阅读, 收藏, 编辑
摘要: 可以给菜单指定一个和程序名相同的字符串ID,这样很方便我们调用菜单,可以在窗口类定义中引用这个菜单:wndclass.lpszMenuName = szAppName;而省去了其他复杂的操作。当然我们也可以用传统的方法:hMenu = LoadMenu(hInstance,TEXT(“MyMenu”));//如果Menu的ID是字符串hMenu = LoadMenu(hInstance,MAKEINTRESOURCE(ID_MENU));//如果Menu的ID是数字之后在createwindow的倒数第三个参数上指定为hMenu。或者直接在创建窗口后指派一个菜单:SetMenu(hwnd,hM 阅读全文

GetMessage用法错误导致程序不能退出

2011-09-27 22:53 by 捣乱小子, 1633 阅读, 收藏, 编辑
摘要: #include <windows.h>#include <stdio.h>LRESULT CALLBACK WinUoowProc( //回调函数声明HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);int WINAPI WinMain( HINSTANCE hInstance, //WinMain主函数HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){WNDCLASS wndcls; // 创建窗口类wndcls.cbClsExtra=0;wndcls.cbWn 阅读全文

WM_COMMAND和WM_KEYDOWN消息的wParam,lParam参数

2011-09-26 17:42 by 捣乱小子, 1919 阅读, 收藏, 编辑
摘要: WM_COMMAND消息: 菜单 控件(注意是控件不是按键) LOWORD(wParam) 菜单id 控件id HIWORD(wParam) 0 通知码 lParam ... 阅读全文

单链表的释放内存free(delete)的顺序

2011-09-26 12:56 by 捣乱小子, 10256 阅读, 收藏, 编辑
摘要: 在单链表中我们在程序的最后加上一个释放内存的方法或者操作,这是一个很好的习惯。但是在销毁过程当中,我遇到了一个问题,那就是释放的顺序应该是怎么样的,刚开始的时候我很思维习惯的用“数据输出”的方法,顺序的将内存释放了,但是出现了内存错误(泄露),百思不其解。后来发现,原来是释放的顺序搞反了,如果顺序释放的话,释放了第一个节点,其后的节点都丢失了,因为其后的节点都是通过头结点来寻找的。下面附上做实验时候的内存释放代码:如果有不对的地方,请大家纠正void Destroy(AddressBook &ab){ Student * temp; Student * del; del = ab.fi 阅读全文

linux下配置tftp服务器

2011-09-24 12:03 by 捣乱小子, 664 阅读, 收藏, 编辑
摘要: 这次tftp服务器配置是在red hat linux5版本下操作的,所以如果在其他版本的话,如果大家有发现的话,分享一下----->daoluanxiaozi@126.com1.在终端下进入root权限,首先看看有没有安装tftp服务器和客户端组件,验证命令:rpm -qa | grep tftp(看图)如果没有图中所显示的效果,那么你的主机上可能没有安装tftp组件,那么就要着手安装了,联网的话可以直接yum install tftp和yum install tftp-server;如果这个方法都没有成功的话,那就要到网上找找tftp的安装包了(最好是rpm格式的),在这里个大家推荐一 阅读全文