作者atst (电脑无法阻止人类做蠢事)
看板MacDev
标题Re: [问题] cocoa 如何让button可以有动作呢?
时间Wed Feb 20 16:05:39 2008
※ 引述《raxchen (ω史蒂芬周ω)》之铭言:
: 各位高手大大们
: 小弟有个严重的问题要发问
: 就是我在使用cocoa application写程式时
: 想要写一个按下一个按钮就可以秀bmp的图
: 每按一次就秀一张
: 但是呢?
: 他好像没有反应
: 我的作法是
: 先拉一个button把它命名为next
: 然後拉一个system font test 把它命名为showtest
: 接着拉一个NSImageView 把它命名为picture,并放进去一张bmp的图
这个步骤会让你的图变成预设的图,所以才会直接秀出来.
: 然後按着control 由next button MyObject
: 按着control由MyObject 连到 showtest
: 在程式码写[showtest setStringValue:@"good job"];
: 结果他runing 起来结果不是我想要的
: 我按下button後
: 他会秀good job的文字
: 但是图,我还没按下button时,它就秀出来了
: 有什麽辨法可以决解吗??
要做到你想做的事情,有几种不同的方式可以达到.
1. Binding,可参考
http://developer.apple.com/documentation/Cocoa/Reference/CocoaBindingsRef/BindingsText/NSImageView.html
2. 直接写code,方法如下:
a.在你的MyObject.h中,加
@interface MyObject:NSObject
{
IBOutlet NSImageView* myImageView;
}
@end
让你的MyObject可以存取ImageView
b. 在showtest 中加下面程式码:
NSImage * image = nil;
/*...read next image...*/
....//这里自己写
/* set image to image view*/
[myImageView setImage:image];
[myImageView setNeedDisplay]; //强迫重画,有时会需要加这一行重画。
至於要如何取得你要的image,怎麽从档案中读取,你可以参考一下NSOpenPanel的说明文件.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.115.2