1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

set(Background)Color beim NSView

Dieses Thema im Forum "OS X-Developer" wurde erstellt von Nighthawk, 12.10.07.

  1. Nighthawk

    Nighthawk Linsenhofener Sämling

    Dabei seit:
    16.12.06
    Beiträge:
    2.558
    Ich versuche mit
    die Hintergrundfarbe des NSViews zu ändern. Beim Ausführen bekomm ich aber nur

    Weiß jemand, woran's hängt? o_O
     
  2. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    NSView kennt weder eine Methode "setBackgroundColor:" noch "setColor:". Wo hast Du diese Methoden her?

    MacApple
     
  3. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    -setBackgroundColor: riecht nach NSWindow. Wenn Du einen einfarbigen NSView haben willst, Nighthawk, musst Du Dir erst eine entsprechende Unterklasse zusammenbauen. Ungefaehr so:

    Code:
    #import <AppKit/AppKit.h>
    
    
    @interface ColoredColor: NSView
    
    	{
    		NSColor *color;
    	}
    
    	- (void)setColor: (NSColor*)theColor;
    	- (NSColor*)color;
    
    @end
    
    
    @implementation ColoredView
    
    	- (void)dealloc {
    		[color release];
    		[super dealloc];
    	}
    
    	- (void)setColor: (NSColor*)theColor {
    		[theColor retain];
    		[color release];
    		color = theColor;
    	}
    
    	- (NSColor*)color {
    		return color;
    	}
    
    	- (void)drawRect: (NSRect)rect {
    		if ([self color]) {
    			[[self color] set];
    			NSRectFill(rect);
    		}
    	}
    
    @end
    
    (Schnell zusammengestoppelt, koennte Fehler enthalten.)
     

Diese Seite empfehlen