我希望我的应用程序在用户点击的位置创建一个文本框。那么如何按需合成文本框呢?有点像在OneNote中。
答案 0 :(得分:1)
用于检测鼠标事件
NSUInteger pmb = [NSEvent pressedMouseButtons];
/*
A return value of 1 << 0 corresponds to the left mouse button, 1 << 1 corresponds to the right mouse button, 1<< n, n >=2 correspond to other mouse buttons.
*/
NSPoint mouseLocation = [NSEvent mouseLocation];
/*
Reports the current mouse position in screen coordinates.
*/
答案 1 :(得分:1)
那么如何按需合成文本框呢。
您可以创建文本视图或文本字段,然后将其添加到视图中的任何位置。假设您在event
中有点击事件,并且您知道要创建的文本视图的width
和height
,请执行以下操作:
NSPoint *p = [myContainerView convertPoint:[event locationInWindow] fromView:nil];
NSRect frame = NSMakeRect(p.x, p.y, width, height);
NSTextView *tv = [[NSTextView alloc] initWithFrame:frame];
[myContainerView addSubview:tv];