MFC消息映射及消息处理函数原型
MFC把消息主要分为三大类:
1. 标准Windows消息(WM_XXX)
2. 命令消息(WM_COMMAND):凡由UI对象产生的消息都是这种命令消息,可能来自菜单或加速键或工具栏按钮。
3. 控件Notification消息
下面是各种消息的消息映射及对应处理函数原型:
WM_COMMAND消息与处理对应规则:
|
消息映射 |
对应处理函数原型 |
|
ON_COMMAND(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_COMMAND_EX(<id>, <memberFxn>) |
afx_msg BOOL memberFxn(UINT); |
|
ON_COMMAND_EX_RANGE(<id>, <idLast>, <memberFxn>) |
afx_msg BOOL memberFxn(UINT); |
|
ON_COMMAND_RANGE(<id>, <idLast>, <memberFxn>) |
afx_msg void memberFxn(UINT); |
|
ON_UPDATE_COMMAND_UI(<id>, <memberFxn>) |
afx_msg void memberFxn(CCmdUI*); |
|
ON_UPDATE_COMMAND_UI_RANGE (<id>, <idLast>, <memberFxn>) |
afx_msg void memberFxn(CCmdUI*); |
|
ON_UPDATE_COMMAND_UI_REFLECT (<memberFxn>) |
afx_msg void memberFxn(CCmdUI*); |
子窗口控件"Notification消息"消息与处理对应规则:
Generic ControlNotification Codes
|
消息映射 |
对应处理函数原型 |
|
ON_CONTROL(<wNotifyCode>, <id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CONTROL_RANGE(<wNotifyCode>, <id> <idLast>, <memberFxn>) |
afx_msg void memberFxn(UINT); |
|
ON_CONTROL_REFLECT(<wNotifyCode>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CONTROL_REFLECT_EX(<wNotifyCode>, <memberFxn>) |
afx_msg BOOL memberFxn(); |
|
ON_NOTIFY(<wNotifyCode>, <id>, <memberFxn>) |
afx_msg void memberFxn(NMHDR*, LRESULT*); |
|
ON_NOTIFY_EX(<wNotifyCode>, <id>, <memberFxn>) |
afx_msg BOOL memberFxn(UINT, NMHDR*, LRESULT*); |
|
ON_NOTIFY_EX_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) |
afx_msg BOOL memberFxn(UINT, NMHDR*, LRESULT*); |
|
ON_NOTIFY_RANGE(<wNotifyCode>, <id>, <idLast>, <memberFxn>) |
afx_msg void memberFxn(UINT, NMHDR*, LRESULT*); |
|
ON_NOTIFY_REFLECT(<wNotifyCode>, <memberFxn>) |
afx_msg void memberFxn(NMHDR*, LRESULT*); |
|
ON_NOTIFY_REFLECT_EX(<wNotifyCode>, <memberFxn>) |
afx_msg BOOL memberFxn(NMHDR*, LRESULT*); |
User ButtonNotification Codes
|
消息映射 |
对应处理函数原型 |
|
ON_BN_CLICKED(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_BN_DOUBLECLICKED(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_BN_KILLFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_BN_SETFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
Combo Box NotificationCodes
|
消息映射 |
对应处理函数原型 |
|
ON_CBN_CLOSEUP(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_DBLCLK(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_DROPDOWN(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_EDITCHANGE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_EDITUPDATE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_ERRSPACE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_KILLFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_SELCHANGE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_SELENDCANCEL(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_SELENDOK(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_CBN_SETFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
Check List BoxNotification Codes
|
消息映射 |
对应处理函数原型 |
|
ON_CLBN_CHKCHANGE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
Edit ControlNotification Codes
|
消息映射 |
对应处理函数原型 |
|
ON_EN_CHANGE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_ERRSPACE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_HSCROLL(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_KILLFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_MAXTEXT(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_SETFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_UPDATE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_EN_VSCROLL(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
List Box NotificationCodes
|
消息映射 |
对应处理函数原型 |
|
ON_LBN_DBLCLK(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_LBN_ERRSPACE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_LBN_KILLFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_LBN_SELCANCEL(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_LBN_SELCHANGE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_LBN_SETFOCUS(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
Static Control Notification Codes
|
消息映射 |
对应处理函数原型 |
|
ON_STN_CLICKED(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_STN_DBLCLK(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_STN_DISABLE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
|
ON_STN_ENABLE(<id>, <memberFxn>) |
afx_msg void memberFxn(); |
标准Windows消息( WM_xxx )的对应规则:
|
消息映射 |
对应处理函数原型 |
|
ON_WM_ACTIVATE() |
afx_msg void OnActivate(UINT, CWnd*, BOOL); |
|
ON_WM_ACTIVATEAPP() |
afx_msg void OnActivateApp(BOOL, HTASK); |
|
ON_WM_ASKCBFORMATNAME() |
afx_msg void OnAskCbFormatName(UINT, LPTSTR); |
|
ON_WM_CANCELMODE() |
afx_msg void OnCancelMode(); |
|
ON_WM_CAPTURECHANGED() |
afx_msg void OnCaptureChanged(CWnd*); |
|
ON_WM_CHANGECBCHAIN() |
afx_msg void OnChangeCbChain(HWND, HWND); |
|
ON_WM_CHAR() |
afx_msg void OnChar(UINT, UINT, UINT); |
|
ON_WM_CHARTOITEM() |
afx_msg int OnCharToItem(UINT, CListBox*, UINT); |
|
ON_WM_CHARTOITEM_REFLECT() |
afx_msg int CharToItem(UINT, UINT); |
|
ON_WM_CHILDACTIVATE() |
afx_msg void OnChildActivate(); |
|
ON_WM_CLOSE() |
afx_msg void OnClose(); |
|
ON_WM_COMPACTING() |
afx_msg void OnCompacting(UINT); |
|
ON_WM_COMPAREITEM() |
afx_msg int OnCompareItem(int, LPCOMPAREITEMSTRUCT); |
|
ON_WM_COMPAREITEM_REFLECT() |
afx_msg int CompareItem (LPCOMPAREITEMSTRUCT); |
|
ON_WM_CONTEXTMENU() |
afx_msg void OnContextMenu(CWnd*, CPoint); |
|
ON_WM_COPYDATA() |
afx_msg BOOL OnCopyData(CWnd*, COPYDATASTRUCT*); |
|
ON_WM_CREATE() |
afx_msg int OnCreate(LPCREATESTRUCT); |
|
ON_WM_CTLCOLOR() |
afx_msg HBRUSH OnCtlColor(CDC*, CWnd*, UINT); |
|
ON_WM_CTLCOLOR_REFLECT() |
afx_msg HBRUSH CtlColor(CDC*, UINT); |
|
ON_WM_DEADCHAR() |
afx_msg void OnDeadChar(UINT, UINT, UINT); |
|
ON_WM_DELETEITEM() |
afx_msg void OnDeleteItem(int, LPDELETEITEMSTRUCT); |
|
ON_WM_DELETEITEM_REFLECT() |
afx_msg void DeleteItem (LPDELETEITEMSTRUCT) |
|
ON_WM_DESTROY() |
afx_msg void OnDestroy(); |
|
ON_WM_DESTROYCLIPBOARD() |
afx_msg void OnDestroyClipboard(); |
|
ON_WM_DEVICECHANGE() |
afx_msg BOOL OnDeviceChange(UINT, DWORD); |
|
ON_WM_DEVMODECHANGE() |
afx_msg void OnDevModeChange(LPTSTR); |
|
ON_WM_DRAWCLIPBOARD() |
afx_msg void OnDrawClipboard(); |
|
ON_WM_DRAWITEM() |
afx_msg void OnDrawItem(int, LPDRAWITEMSTRUCT); |
|
ON_WM_DRAWITEM_REFLECT() |
afx_msg void DrawItem (LPDRAWITEMSTRUCT); |
|
ON_WM_DROPFILES() |
afx_msg void OnDropFiles(HDROP); |
|
ON_WM_ENABLE() |
afx_msg void OnEnable(BOOL); |
|
ON_WM_ENDSESSION() |
afx_msg void OnEndSession(BOOL); |
|
ON_WM_ENTERIDLE() |
afx_msg void OnEnterIdle(UINT, CWnd*); |
|
ON_WM_ENTERMENULOOP() |
afx_msg void OnEnterMenuLoop(BOOL); |
|
ON_WM_ERASEBKGND() |
afx_msg BOOL OnEraseBkgnd(CDC*); |
|
ON_WM_EXITMENULOOP() |
afx_msg void OnExitMenuLoop(BOOL); |
|
ON_WM_FONTCHANGE() |
afx_msg void OnFontChange(); |
|
ON_WM_GETDLGCODE() |
afx_msg UINT OnGetDlgCode(); |
|
ON_WM_GETMINMAXINFO() |
afx_msg void OnGetMinMaxInfo (MINMAXINFO*); |
|
ON_WM_HELPINFO() |
afx_msg BOOL OnHelpInfo(HELPINFO*); |
|
ON_WM_HSCROLL() |
afx_msg void OnHScroll(UINT, UINT, CScrollBar*); |
|
ON_WM_HSCROLL_REFLECT() |
afx_msg void HScroll(UINT, UINT); |
|
ON_WM_HSCROLLCLIPBOARD() |
afx_msg void OnHScrollClipboard(CWnd*, UINT, UINT); |
|
ON_WM_ICONERASEBKGND() |
afx_msg void OnIconEraseBkgnd(CDC*); |
|
ON_WM_INITMENU() |
afx_msg void OnInitMenu(CMenu*); |
|
ON_WM_INITMENUPOPUP() |
afx_msg void OnInitMenuPopup(CMenu*, UINT, BOOL); |
|
ON_WM_KEYDOWN() |
afx_msg void OnKeyDown(UINT, UINT, UINT); |
|
ON_WM_KEYUP() |
afx_msg void OnKeyUp(UINT, UINT, UINT); |
|
ON_WM_KILLFOCUS() |
afx_msg void OnKillFocus(CWnd*); |
|
ON_WM_LBUTTONDBLCLK() |
afx_msg void OnLButtonDblClk(UINT, CPoint); |
|
ON_WM_LBUTTONDOWN() |
afx_msg void OnLButtonDown(UINT, CPoint); |
|
ON_WM_LBUTTONUP() |
afx_msg void OnLButtonUp(UINT, CPoint); |
|
ON_WM_MBUTTONDBLCLK() |
afx_msg void OnMButtonDblClk(UINT, CPoint); |
|
ON_WM_MBUTTONDOWN() |
afx_msg void OnMButtonDown(UINT, CPoint); |
|
ON_WM_MBUTTONUP() |
afx_msg void OnMButtonUp(UINT, CPoint); |
|
ON_WM_MDIACTIVATE() |
afx_msg void OnMDIActivate(BOOL, CWnd*, CWnd*); |
|
ON_WM_MEASUREITEM() |
afx_msg void OnMeasureItem(int, LPMEASUREITEMSTRUCT); |
|
ON_WM_MEASUREITEM_REFLECT() |
afx_msg void MeasureItem (LPMEASUREITEMSTRUCT); |
|
ON_WM_MENUCHAR() |
afx_msg LRESULT OnMenuChar(UINT, UINT, CMenu*); |
|
ON_WM_MENUSELECT() |
afx_msg void OnMenuSelect(UINT, UINT, HMENU); |
|
ON_WM_MOUSEACTIVATE() |
afx_msg int OnMouseActivate(CWnd*, UINT, UINT); |
|
ON_WM_MOUSEMOVE() |
afx_msg void OnMouseMove(UINT, CPoint); |
|
ON_WM_MOUSEWHEEL() |
afx_msg BOOL OnMouseWheel(UINT, short, CPoint); |
|
ON_WM_MOVE() |
afx_msg void OnMove(int, int); |
|
ON_WM_MOVING() |
afx_msg void OnMoving(UINT, LPRECT); |
|
ON_WM_NCACTIVATE() |
afx_msg BOOL OnNcActivate(BOOL); |
|
ON_WM_NCCALCSIZE() |
afx_msg void OnNcCalcSize(BOOL, NCCALCSIZE_PARAMS*); |
|
ON_WM_NCCREATE() |
afx_msg BOOL OnNcCreate (LPCREATESTRUCT); |
|
ON_WM_NCDESTROY() |
afx_msg void OnNcDestroy(); |
|
ON_WM_NCHITTEST() |
afx_msg UINT OnNcHitTest(CPoint); |
|
ON_WM_NCLBUTTONDBLCLK() |
afx_msg void OnNcLButtonDblClk(UINT, CPoint); |
|
ON_WM_NCLBUTTONDOWN() |
afx_msg void OnNcLButtonDown(UINT, CPoint); |
|
ON_WM_NCLBUTTONUP() |
afx_msg void OnNcLButtonUp(UINT, CPoint); |
|
ON_WM_NCMBUTTONDBLCLK() |
afx_msg void OnNcMButtonDblClk(UINT, CPoint); |
|
ON_WM_NCMBUTTONDOWN() |
afx_msg void OnNcMButtonDown(UINT, CPoint); |
|
ON_WM_NCMBUTTONUP() |
afx_msg void OnNcMButtonUp(UINT, CPoint); |
|
ON_WM_NCMOUSEMOVE() |
afx_msg void OnNcMouseMove(UINT, CPoint); |
|
ON_WM_NCPAINT() |
afx_msg void OnNcPaint(); |
|
ON_WM_NCRBUTTONDBLCLK() |
afx_msg void OnNcRButtonDblClk(UINT, CPoint); |
|
ON_WM_NCRBUTTONDOWN() |
afx_msg void OnNcRButtonDown(UINT, CPoint); |
|
ON_WM_NCRBUTTONUP() |
afx_msg void OnNcRButtonUp(UINT, CPoint); |
|
ON_WM_PAINT() |
afx_msg void OnPaint(); |
|
ON_WM_PAINTCLIPBOARD() |
afx_msg void OnPaintClipboard(CWnd*, HGLOBAL); |
|
ON_WM_PALETTECHANGED() |
afx_msg void OnPaletteChanged(CWnd*); |
|
ON_WM_PALETTEISCHANGING() |
afx_msg void OnPaletteIsChanging(CWnd*); |
|
ON_WM_PARENTNOTIFY() |
afx_msg void OnParentNotify(UINT, LPARAM); |
|
ON_WM_PARENTNOTIFY_REFLECT() |
afx_msg void ParentNotify(UINT, LPARAM); |
|
ON_WM_QUERYDRAGICON() |
afx_msg HCURSOR OnQueryDragIcon(); |
|
ON_WM_QUERYENDSESSION() |
afx_msg BOOL OnQueryEndSession(); |
|
ON_WM_QUERYNEWPALETTE() |
afx_msg BOOL OnQueryNewPalette(); |
|
ON_WM_QUERYOPEN() |
afx_msg BOOL OnQueryOpen(); |
|
ON_WM_RBUTTONDBLCLK() |
afx_msg void OnRButtonDblClk(UINT, CPoint); |
|
ON_WM_RBUTTONDOWN() |
afx_msg void OnRButtonDown(UINT, CPoint); |
|
ON_WM_RBUTTONUP() |
afx_msg void OnRButtonUp(UINT, CPoint); |
|
ON_WM_RENDERALLFORMATS() |
afx_msg void OnRenderAllFormats(); |
|
ON_WM_RENDERFORMAT() |
afx_msg void OnRenderFormat(UINT); |
|
ON_WM_SETCURSOR() |
afx_msg BOOL OnSetCursor(CWnd*, UINT, UINT); |
|
ON_WM_SETFOCUS() |
afx_msg void On SetFocus(CWnd*); |
|
ON_WM_SETTINGCHANGE() |
afx_msg void OnSettingChange(UINT, LPCTSTR); |
|
ON_WM_SHOWWINDOW() |
afx_msg void OnShowWindow(BOOL, UINT); |
|
ON_WM_SIZE() |
afx_msg void OnSize(UINT, int, int); |
|
ON_WM_SIZECLIPBOARD() |
afx_msg void OnSizeClipboard(CWnd*, HGLOBAL); |
|
ON_WM_SIZING() |
afx_msg void OnSizing(UINT, LPRECT); |
|
ON_WM_SPOOLERSTATUS() |
afx_msg void OnSpoolerStatus(UINT, UINT); |
|
ON_WM_STYLECHANGED() |
afx_msg void OnStyleChanged(int, LPSTYLESTRUCT); |
|
ON_WM_STYLECHANGING() |
afx_msg void OnStyleChanging(int, LPSTYLESTRUCT); |
|
ON_WM_SYSCHAR() |
afx_msg void OnSysChar(UINT, UINT, UINT); |
|
ON_WM_SYSCOLORCHANGE() |
afx_msg void OnSysColorChange(); |
|
ON_WM_SYSCOMMAND() |
afx_msg void OnSysCommand(UINT, LPARAM); |
|
ON_WM_SYSDEADCHAR() |
afx_msg void OnSysDeadChar(UINT, UINT, UINT); |
|
ON_WM_SYSKEYDOWN() |
afx_msg void OnSysKeyDown(UINT, UINT, UINT); |
|
ON_WM_SYSKEYUP() |
afx_msg void OnSysKeyUp(UINT, UINT, UINT); |
|
ON_WM_TCARD() |
afx_msg void OnTCard(UINT, DWORD); |
|
ON_WM_TIMECHANGE() |
afx_msg void OnTimeChange(); |
|
ON_WM_TIMER() |
afx_msg void OnTimer(UINT); |
|
ON_WM_VKEYTOITEM() |
afx_msg int OnVKeyToItem(UINT, CListBox*, UINT); |
|
ON_WM_VKEYTOITEM_REFLECT() |
afx_msg int VKeyToItem(UINT, UINT); |
|
ON_WM_VSCROLL() |
afx_msg void OnVScroll(UINT, UINT, CScrollBar*); |
|
ON_WM_VSCROLL_REFLECT() |
afx_msg void VScroll(UINT, UINT); |
|
ON_WM_VSCROLLCLIPBOARD() |
afx_msg void OnVScrollClipboard(CWnd*, UINT, UINT); |
|
ON_WM_WINDOWPOSCHANGED() |
afx_msg void OnWindowPosChanged (WINDOWPOS*); |
|
ON_WM_WINDOWPOSCHANGING() |
afx_msg void OnWindowPosChanging (WINDOWPOS*); |
|
ON_WM_WININICHANGE() |
afx_msg void OnWinIniChange(LPCTSTR); |
用户自定义消息与处理对应规则:
|
消息映射 |
对应处理函数原型 |
|
ON_MESSAGE(<message>, <memberFxn>) |
afx_msg LRESULT memberFxn(WPARAM, LPARAM); |
|
ON_REGISTERED_MESSAGE (<nMessageVariable>,<memberFxn>) |
afx_msg LRESULT memberFxn(WPARAM, LPARAM); |
|
ON_REGISTERED_THREADMESSAGE(<nMessageVariable>, <memberFxn>) |
afx_msg void memberFxn(WPARAM, LPARAM); |
|
ON_THREAD_MESSAGE (<message>, <memberFxn>) |
afx_msg void memberFxn(WPARAM, LPARAM); |
MFC消息映射及消息处理函数原型的更多相关文章
- MFC 消息映射表和虚函数实现消息映射到底谁的效率高
深入浅出MFC对于虚函数实现方式的缺点,它指出:虚函数耗费大量内存,系统最终将被这些额外负担拖垮. 但是现在对于容量巨大的白菜价格的内存来说,这种额外负担是否已经过时了呢~? 书中提到,虚函数表 ...
- MFC消息映射机制以及画线功能实现
---此仅供用于学习交流,切勿用于商业用途,转载请注明http://www.cnblogs.com/mxbs/p/6213404.html. 利用VS2010创建一个单文档标准MFC工程,工程名为Dr ...
- MFC编程入门之五(MFC消息映射机制概述)
在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息,通过对消息的处理实现相应的操作.比较典型的过程是,用户操作窗口,然后有消息产生,送给窗口的消息处理函数处理,对用户的操作做出响应. 一.什 ...
- VS2010/MFC编程入门之五(MFC消息映射机制概述)
VS2010/MFC编程入门之五(MFC消息映射机制概述)-软件开发-鸡啄米 http://www.jizhuomi.com/software/147.html 上一讲鸡啄米为大家简单分析了MFC应用 ...
- MFC消息映射机制
1.MFC应用框架主要类之间的关系 MFC自动生成的框架中重要的类有:C-App.CMainFrame.C-Doc和C-View. 其他的类如CClassView.CFileView等都是在框架窗口( ...
- MFC消息映射与命令传递
题外话:刚开始学视窗程序设计的时候,我就打印了一本Windows消息详解,里面列举了各种已定义消息的意义和作用,共10多页,在编程的时候翻翻,有时觉得很受用.我发觉很多编程的朋友,虽然每天都面对消息, ...
- VS2010-MFC(MFC消息映射机制概述)
转自:http://www.jizhuomi.com/software/147.html 前面已经说过,Windows应用程序是消息驱动的.在MFC软件开发中,界面操作或者线程之间通信都会经常用到消息 ...
- MFC如何添加系统消息处理函数?
http://zhidao.baidu.com/question/318026804.html 在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成 ...
- MFC消息映射的原理:笔记
多态的实现机制有两种,一是通过查找绝对位置表,二是查找名称表:两者各有优缺点,那么为什么mfc的消息映射采用了第二种方法,而不是c++使用的第一种呢?因为在mfc的gui类库是一个庞大的继承体系,而里 ...
随机推荐
- 可旋转Treap(树堆)总结
树堆,在数据结构中也称Treap,是指有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树.其基本操作的期望时间复杂度为O(logn).相对于其他的平衡二叉搜索树,Trea ...
- Cadence套件:Capture + Allegro应用笔记
1.在Allegro中导入Netlist时,需要进行封装路径的设定: 在Setup->User Preference的Path->Library下面,设定所需封装文件(psm).焊盘文件( ...
- 08 SSM整合案例(企业权限管理系统):07.订单操作
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.用户操作 09.权限控制 10.权限关联与控制 11.AOP日志 07.订单操作 SSM订单操作 ...
- swoole之建立 websocket server
一.代码部分 <?php /** * 为什么用WebSocket? * HTTP的通信只能由客户端发起 * * WebSocket 协议是基于TCP的一种新的网络协议.实现了浏览器与服务器全双工 ...
- 【剑指Offer】面试题34. 二叉树中和为某一值的路径
题目 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径. 示例: 给定如下二叉树,以及目标和 sum = 22, 5 / ...
- HDU - 1754 I Hate It (线段树点修改求最大值)
题意:有N个学生M条操作,0<N<=200000,0<M<5000,要么查询某区间内学生的最高分,要么更改某学生的成绩. 分析:原理和线段树点修改求和类似. #include& ...
- Product of Polynomials
题意:多项式相乘,合并同类项后输出每一项的系数. 题目链接:https://www.patest.cn/contests/pat-a-practise/1009 分析:注意合并后系数为0,这一项就不存 ...
- 用 k8s 运行一次性任务【转】
容器按照持续运行的时间可分为两类:服务类容器和工作类容器. 服务类容器通常持续提供服务,需要一直运行,比如 http server,daemon 等.工作类容器则是一次性任务,比如批处理程序,完成后容 ...
- tan?
痰是一种急.慢性气管--支气管炎,咳.痰.喘.炎是下呼吸道感染的常见主征.下呼吸道感染有急性和慢性之分.急性感染主要的是急性气管--支气管炎,是呼吸系统最常见的一种疾病,多由感染.物理化学刺激或过敏引 ...
- 从零开始学C++(2 字符串、向量和数组)
可以说string和vector是C++标准库中最重要的两种类型,string支持可变长字符串,而vector表示可变长的集合. string 头文件:<string> 定义在命名空间 s ...