Нажмите - через кнопки и не повышение окна

Одна вещь спросить могла бы быть - если Ваши потребности перевесят возможности SQL Server Express, Вы будете в состоянии предоставить коммерческую версию?

я думаю, что та из идей SQL Server Express - то, что Вы могли разместить свой сайт на ней и как только Вы перерастаете ее (нуждайтесь больше чем в 4 ГБ, и т.д.), Вы купите коммерческую версию, особенно теперь, когда Вы привязываетесь к использованию ее. Но если Ваш сайт перерастет его раньше, чем входящий доход будет в состоянии купить коммерческую версию, это могло быть проблемой (и возможно дефект проектирования баз данных, если Ваш сайт использует больше данных/дискового пространства, чем этому нужно к)

5
задан 30 September 2009 в 17:15
поделиться

3 ответа

Это не совсем тот ответ, который я искал, но пока он работает достаточно хорошо. Создав подкласс NSView и реализовав следующие методы, это представление может действовать как кнопка.

- (void)mouseDown:(NSEvent *)theEvent {
    [NSApp preventWindowOrdering];
//  [self setNeedsDisplay:YES];
}

- (BOOL)acceptsFirstMouse:(NSEvent *)theEvent {
    return YES;
}

- (BOOL)shouldDelayWindowOrderingForEvent:(NSEvent *)theEvent {
    return YES;
}

Больше ничего не требуется, вот и все. Конечно, это обходит все достоинства NSButton, которые я хотел сохранить, я должен спроектировать, а затем позаботиться о рисовании и обновлении состояний кнопок, но я просто рад получить ответ.

2
ответ дан 14 December 2019 в 04:43
поделиться

This can be accomplished with an NSPanel that's been set to not hide on deactivate and to become key only as needed. This also assumes that the controls you'll be using return YES to -acceptsFirstMouse:; NSButtons do so by default.

You can turn off the hide on deactivate flag through IB for the panel but you'll need to issue the -setBecomesKeyOnlyIfNeeded:YES message to the panel to keep it and the app from coming forward on button clicks.

3
ответ дан 14 December 2019 в 04:43
поделиться

Have you checked out acceptsFirstMouse:? Any NSView can return YES to this event to say that the view should handle the event rather than bringing the window to the foreground. Presumably, by intercepting the event, it won't be used to bring the window to the foreground, but I can't vouch for that.

You'll obviously need to subclass any control you want to have this behavior to override acceptsFirstMouse:.

1
ответ дан 14 December 2019 в 04:43
поделиться