2011-11-10 241 views
2

是否可以将窗口大小设置为大于屏幕大小?我打开文本编辑例如我用的是以下几点:设置窗口大于屏幕大小

set bounds of window 1 to {10, 10, 400, 2200} 

但高度永远不会到达2200马克。它仅限于屏幕尺寸。我希望我可以强制超过屏幕尺寸的高度,以便我可以截图全长窗口。

高兴地尝试其他语言,这将工作英寸也许objective-c,可可应用程序?

+0

这是干什么用的? – gadgetmo

回答

1

是的,这是可能的。

#include <Foundation/Foundation.h> 
#include <AppKit/AppKit.h> 

@interface MyDelegate : NSObject 
{ 
    NSWindow *myWindow; 
} 
- (void) createMenu; 
- (void) createWindow; 
- (void) applicationWillFinishLaunching: (NSNotification *)not; 
- (void) applicationDidFinishLaunching: (NSNotification *)not; 
@end 

@implementation MyDelegate : NSObject 
- (void) dealloc 
{ 
    [myWindow release]; 
} 

- (void) createMenu 
{ 
    NSMenu *menu; 

    menu = [[NSMenu new] autorelease]; 

    [menu addItemWithTitle: @"Quit" 
     action: @selector (terminate:) 
     keyEquivalent: @"q"]; 

    [NSApp setMainMenu: menu]; 
} 

- (void) createWindow 
{ 
    NSRect rect = NSMakeRect (100, 100, 2000, 2000); 
    unsigned int styleMask = NSTitledWindowMask 
          | NSMiniaturizableWindowMask; 


    myWindow = [NSWindow alloc]; 
    myWindow = [myWindow initWithContentRect: rect 
         styleMask: styleMask 
         backing: NSBackingStoreBuffered 
         defer: NO]; 
    [myWindow setTitle: @"This is a test window"]; 
} 

- (void) applicationWillFinishLaunching: (NSNotification *)not 
{ 
    [self createMenu]; 
    [self createWindow]; 
} 

- (void) applicationDidFinishLaunching: (NSNotification *)not; 
{ 
    [myWindow makeKeyAndOrderFront: nil]; 
} 
@end 

int main (int argc, const char **argv) 
{ 
    [NSApplication sharedApplication]; 
    [NSApp setDelegate: [MyDelegate new]]; 

    return NSApplicationMain (argc, argv); 
} 
+0

这是否适用于TextEdit应用程序?我没有创建自己的窗口 - 我正在启动具有窗口的应用程序。请看我对Oliver的评论。 – Abs

+0

请注意,任何带有标题栏的NSWindow都会自动将自己限制在屏幕上(来自Window编程指南)。 –

+0

我没有使用NSWindow,并且我没有那种级别的窗口控制 - 正如我前面提到的。我正在打开其他应用程序并尝试将窗口高度增加到屏幕外。 – Abs

1

为什么你想这样做?如果你想显示的东西,比窗口大,你有UIScrollView的为:

http://developer.apple.com/library/IOs/#documentation/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html

使用它,并调整它的contentSize至{10,10,400,2200}。
你完成了。

+0

这不是我创建的窗口。此窗口属于另一个应用程序。例如'TextEdit'应用程序,我打开它并设置窗口大小。但是,我想把它做得足够大,以便我可以将窗口捕捉为图像。一切正常,但我似乎无法找到使窗口足够大的方法。 – Abs

+0

@Abs:你也许可以尝试调整其视图/子视图大小而不是窗口大小? – Oliver

+0

感谢您的回复奥利弗 - 我该怎么做?在苹果中有什么东西来瞄准这个? – Abs

0

您可以编辑笔尖文件并为窗口设置不同的最小尺寸。应用程序为其窗口设置最小尺寸以防止自动调整问题,这可能会导致某些视图消失,并且在窗口大小放大时不显示。从我收集的信息看来,您无法从AppleScript查询或设置最小大小。

Here是一个类似于你的问题,从来没有找到答案,但问题的评论和答案一样好。

相关问题