境界のないウィンドウでウィンドウがアクティブになると、より濃くて大きな影を作成する方法は?濃い影を持つ境界のないウィンドウを作成する
私はNSWindowをサブクラス化しています。私のウィンドウはメインウィンドウとキーウィンドウになりますが、シャドーはまだ小さくありません。だから、誰かがこれを修正する方法を知っていますか?これは私の問題だったら
- (id)initWithContentRect:(NSRect)contentRect
styleMask:(NSUInteger)windowStyle
backing:(NSBackingStoreType)bufferingType
defer:(BOOL)flag
{
self = [super initWithContentRect: contentRect
styleMask: NSBorderlessWindowMask
backing: NSBackingStoreBuffered
defer: NO];
if(self)
{
[self setHasShadow:YES];
[self setBackgroundColor:[NSColor clearColor]];
[self setOpaque:NO];
}
return self;
}
迅速な対応をありがとうございます。うーん..それは問題を解決していない..あなたが私に与えたあなたの例では、同じ問題(RoundTransparentWindowプロジェクト)です。このプロジェクトでは、ちょうど私のアプリのような小さな影です。あなたの欲望[スーパーディスプレイ]を試しましたが、これも助けになりませんでした。 –
私が言っていたことは、 'display'が呼び出されたときにあなた自身が影を描くべきだということでした。 AFAIK、これはOSが提供するものよりも「暗い影」を得る唯一の方法です。 'display'が呼び出されると、ウィンドウフレームの矩形を取得し、その境界のすぐ外側に矩形を描画する方法を見つけ出します。 –
うーん..あなたの提案に感謝私はこれを行うにそれを試みます。 +1 –