¿Hay un indicador que se puede configurar que causará que se resalte un botón de cacao cuando está sobre mousado? Necesito esto programáticamente con el objetivo C en OSX.Botón de cacao que se iluminará con el mouse sobre
7
A
Respuesta
15
instalación de un área de seguimiento de la vista con addTrackingArea (siempre que esté utilizando Leopard o posterior OS X). Obtendrá eventos al ingresar y salir del mouse.
1
algo a continuación quizás la respuesta.
class HoverButton: NSButton{
var backgroundColor: NSColor?
var hoveredBackgroundColor: NSColor?
var pressedBackgroundColor: NSColor?
private var hovered: Bool = false
override var wantsUpdateLayer:Bool{
return true
}
required init?(coder: NSCoder) {
super.init(coder: coder)
self.commonInit()
}
override init(frame frameRect: NSRect) {
super.init(frame: frameRect)
self.commonInit()
}
func commonInit(){
self.wantsLayer = true
self.createTrackingArea()
self.hovered = false
self.hoveredBackgroundColor = NSColor.selectedTextBackgroundColor()
self.pressedBackgroundColor = NSColor.selectedTextBackgroundColor()
self.backgroundColor = NSColor.clearColor()
}
private var trackingArea: NSTrackingArea!
func createTrackingArea(){
if(self.trackingArea != nil){
self.removeTrackingArea(self.trackingArea!)
}
let circleRect = self.bounds
let flag = NSTrackingAreaOptions.MouseEnteredAndExited.rawValue + NSTrackingAreaOptions.ActiveInActiveApp.rawValue
self.trackingArea = NSTrackingArea(rect: circleRect, options: NSTrackingAreaOptions(rawValue: flag), owner: self, userInfo: nil)
self.addTrackingArea(self.trackingArea)
}
override func mouseEntered(theEvent: NSEvent) {
self.hovered = true
NSCursor.pointingHandCursor().set()
self.needsDisplay = true
}
override func mouseExited(theEvent: NSEvent) {
self.hovered = false
NSCursor.arrowCursor().set()
self.needsDisplay = true
}
override func updateLayer() {
if(hovered){
if (self.cell!.highlighted){
self.layer?.backgroundColor = pressedBackgroundColor?.CGColor
}
else{
self.layer?.backgroundColor = hoveredBackgroundColor?.CGColor
}
}
else{
self.layer?.backgroundColor = backgroundColor?.CGColor
}
}
}
Cuestiones relacionadas
- 1. Qt - Hoja de estilo para el botón personalizado del mouse sobre el botón y el botón
- 2. Disparador JXCollapsiblePane con mouse sobre
- 3. Haciendo que se aprecie un botón de cacao, programáticamente
- 4. Evita que la tabla html parpadee al pasar el mouse sobre el mouse
- 5. mouse de desplazamiento sobre capybara
- 6. html acercar el mouse sobre
- 7. ¿Cómo se cambia el mouse sobre el resaltado?
- 8. ¿Activar caja de fantasía con el mouse sobre el mouse en lugar de hacer clic?
- 9. Hacer que el puntero del mouse se vuelva mano para hacer clic en el botón
- 10. Cambiar el estilo del borde circundante con el mouse sobre
- 11. Detener el cursor del mouse de Excel parpadeando sobre el botón
- 12. Cómo comprobar si el mouse se mueve, mientras que el botón izquierdo del mouse está hacia abajo, en C#
- 13. ¿Cómo se evita que una información sobre herramientas jquery.qtip2 se oculte cuando el mouse está sobre la punta?
- 14. menú contextual con el botón derecho del mouse para datagridview
- 15. Problema con onClick() y botón central en el mouse
- 16. Oscilación: colocando el mouse sobre la etiqueta del botón de opción en JPanel translúcido
- 17. Mostrar información sobre herramientas en el mouse sobre un texto
- 18. ¿Cambiar el color del texto cuando se pasa el mouse sobre el texto con Tkinter?
- 19. Identificación del elemento en el mouse sobre
- 20. Problema raro donde el botón no se vuelve a habilitar a menos que se haga clic en el mouse
- 21. Cómo hacer que ScrollViewer se desplace cuando el mouse está sobre * cualquier * contenido
- 22. ¿Cómo puedo hacer que WPF ScrollViewer haga clic con el botón central del mouse?
- 23. Flex 3: ¿Cómo puedo cambiar el Cursor del mouse cuando se pasa el mouse sobre una entrada de texto?
- 24. ¿Cómo hacer que el cursor del mouse agarre el mouse?
- 25. ¿Cómo obtener información sobre herramientas para mostrar cuando se usa el mouse sobre ToolStripStatusLabel?
- 26. Problema al colocar el mouse en el botón
- 27. Interfaz de cacao con el archivo GEDCOM
- 28. Detectar si el mouse está sobre un elemento cuando la página se carga con Javascript
- 29. Textarea en IE7 desaparece en el mouse sobre
- 30. ¿Qué es el código HTML que causa que los subtítulos/comentarios aparezcan cuando se pasa el mouse sobre un hipervínculo?
¿Puede usted explicar cómo hacer esto con el código (al menos con algún ejemplo ...)? – mthama