【发布时间】:2013-02-21 21:55:31
【问题描述】:
我是编程、objective-c(和 stackoverflow)的新手。我正在学习并非常缓慢地前进;)但后来我遇到了一个问题,谷歌无法解决。我有一个窗口和一个 NSview,然后添加了一个鼠标事件,应该将坐标绘制到我的视图中,但它没有。有趣的是:它是在鼠标移到我的应用程序窗口的窗口按钮上时绘制的...
- (void)drawRect:(NSRect)dirtyRect {
NSPoint imagePos = NSMakePoint(0, 0);
NSImage *aImage = [NSImage imageNamed:@"mw_bg01.png"];
[aImage dissolveToPoint:imagePos fraction:1.0];
}
- (void)mouseDown:(NSEvent*)theEvent;{
mouseLoc = [NSEvent mouseLocation];
mousePosX = mouseLoc.x;mousePosY = mouseLoc.y;
NSString* mouseString = [NSString stringWithFormat:@"%d", mousePosX];
NSPoint textPoint = NSMakePoint(5, 5);
NSMutableDictionary *textAttrib = [[NSMutableDictionary alloc] init];
[textAttrib setObject:[NSFont fontWithName:@"Helvetica Light" size:10]
forKey:NSFontAttributeName];
[textAttrib setObject:[NSColor grayColor] forKey:NSForegroundColorAttributeName];
[mouseString drawAtPoint:textPoint withAttributes:textAttrib];
}
我不知道该怎么做,有什么建议吗?谢谢!
【问题讨论】:
-
这段代码在哪里?看起来您已经编写了 mouseDown 处理程序。根据此代码的位置(例如,在应用程序与视图中或其他任何地方),它可能只是恰好是按钮的委托而不是视图的委托。
-
它在视图中。我使用了一个 mouseDown 处理程序,因为我想在我的视图中测试绘图并且 mousemove 没有被调用。
-
而且:我根本没有按钮,我的意思是 3 个 osx 窗口按钮...
标签: objective-c macos mouseevent nsview