首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏大话swift

    macOS NSTableView鼠标右键菜单

    } ``` extension tableview重写鼠标事件 ``` extension NSTableView { open override func menu(for event: NSEvent } return super.menu(for: event) } open override func mouseDown(with event: NSEvent } return super.mouseDown(with: event) } open override func mouseEntered(with event: NSEvent ) { var btInfo:BTInfo = BTInfo() } open override func mouseExited(with event: NSEvent

    2.7K30发布于 2019-07-03
  • 来自专栏跟Qt君学编程

    使用Qt接口获取Windows系统的事件

    类型有: 平台 事件类型(eventType) 消息类型(message) 结果类型(result) Windows "windows_generic_MSG" MSG * LRESULT macOs "NSEvent " NSEvent * 无 XCB(Linux) "xcb_generic_event_t" xcb_generic_event_t * 无

    4.2K30发布于 2019-07-15
  • 来自专栏macOS 开发学习

    Mac开发跬步积累(六): 响应链NSResponder Chain

    响应链处理的消息大体上分为两种:Event Messages和Action Messages Event Messages(事件消息): Event Messages主要指的是由键盘/鼠标/触控板触发的NSEvent 显然ViewController中我们已经实现了keyDown:方法;在回答这个问题之前,我们先看一下网络上普遍关于NSViewController监听键盘事件的方法:使用NSEvent添加本地事件监听 NSEvent addLocalMonitor 代码运行后,可以实现键盘事件的处理,但为了更细致的了解响应链过程,我们并不使用这个方案,那么我们再来回顾一下"Event Message"中对于键盘事件的描述 控制台信息 0x05 一些思考 本文通过示例抛砖引玉,仅仅讨论学习响应链的冰山一角,希望对学习macOS事件响应机制有所帮助,为了大家能够更深入了解响应链,留一些思考问题,激发大家的主动学习姿势: NSEvent

    2.8K10发布于 2019-04-09
  • 来自专栏macOS 开发学习

    macOS AppKit 的事件响应简介

    NSApplication 会将接收到的Event 转换为NSEvent 对象. 从另一种意义上讲,应用程序是被事件(event)驱动的: 它从runloop的事件队列中获取一个事件(NSEvent) 派发事件(NSEvent)到合适的对象(Object) 事件被处理完成后,再取下一个事件 (NSEvent),直到应用退出. 事件分发(Event Dispatch) 在主事件循环中(main event runloop),应用程序对象(NSApp)会不断的从事件队列中(event queue)获取最前面的事件,然后将它转换为NSEvent NSApp将事件转换为NSEvent后,第一件事就是调用sendEvent:方法进行派发.

    3.4K60发布于 2018-08-23
  • 来自专栏一“技”之长

    OS X开发NSMenu应用详解 原

    标题 @property (copy) NSString *title; //在所在的交互点弹出菜单 + (void)popUpContextMenu:(NSMenu*)menu withEvent:(NSEvent *)event forView:(NSView*)view; + (void)popUpContextMenu:(NSMenu*)menu withEvent:(NSEvent*)event forView

    1.9K30发布于 2018-08-15
  • 【端设备协同操作】

    ctrl-share") browser.delegate = self browser.startBrowsingForPeers() // 处理键盘事件转发 func handleKeyEvent(event: NSEvent

    15110编辑于 2025-12-18
  • 来自专栏macOS 开发学习

    Mac开发基础练习:制作一个状态栏(NSStatusBar)上的App(二)

    为了响应系统的鼠标事件,我们需要使用Cocoa框架中的NSEvent类来为应用添加监听对象,在Mac 开发中,通常我们都是被(鼠标或键盘)事件驱动的,当OSX系统接收到一个事件后,会添加到窗口服务进程的处理队列中

    1.8K30发布于 2018-08-23
  • 来自专栏一“技”之长

    macOS开发之NSTableView的应用详解

    searchString NS_AVAILABLE_MAC(10_5); - (BOOL)tableView:(NSTableView *)tableView shouldTypeSelectForEvent:(NSEvent dragImageForRowsWithIndexes:(NSIndexSet *)dragRows tableColumns:(NSArray<NSTableColumn *> *)tableColumns event:(NSEvent

    5.8K21发布于 2018-08-15
  • 来自专栏互联网杂技

    当你在浏览器中输入Google.com并且按下回车之后发生了什么?

    (Mac OS X)一个 KeyDown NSEvent被发往应用程序 中断信号引发了I/O Kit Kext键盘驱动的中断处理事件,驱动把信号翻译成键码值,然后传给OS X的WindowServer 这个过程通常是由 NSApplication 主事件循环产生并且处理的,通过 NSEventType 为 KeyDown 的 NSEvent

    1.7K130发布于 2018-04-03
  • 来自专栏Molier的小站

    汇编寄存器的规则

    在 LLDB 控制台中输入以下内容: (lldb) po $rdx 输出 “NSEvent: type=LMouseUp loc=(351.672,137.914) time=175929.4 flags buttonNumber=0 pressure=0 deviceID:0x300000014400000 subtype=NSEventSubtypeTouch” 也可以看到参数类型 po [$rdx class] NSEvent

    3.6K50编辑于 2022-11-03
  • 来自专栏Albert陈凯

    2019-06-11 当你在浏览器输入google.com回车时发生了什么

    (Mac OS X)一个 KeyDown NSEvent被发往应用程序 中断信号引发了I/O Kit Kext键盘驱动的中断处理事件,驱动把信号翻译成键码值,然后传给OS X的 WindowServer 这个过程通常是由 NSApplication 主事件循环产生并且处理的,通过 NSEventType 为 KeyDown 的 NSEvent

    86921发布于 2019-06-22
领券