2008-09-03 11 views

cevap

1

İşte bunu yapmak için fazlasıyla tembel yolu:

#!/usr/bin/ruby 
require 'rubygems' 
require 'fox16' 
include Fox 

theApp = FXApp.new 

theMainWindow = FXMainWindow.new(theApp, "Hello") 

theButton = FXButton.new(theMainWindow, "Hello, World!") 
theButton.tipText = "Push Me!" 

iconFile = File.open("icon.jpg", "rb") 
theButton.icon = FXJPGIcon.new(theApp, iconFile.read) 
theButton.iconPosition = ICON_ABOVE_TEXT 
iconFile.close 

theButton.connect(SEL_COMMAND) { 
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/") 
} 

FXToolTip.new(theApp) 

theApp.create 

theMainWindow.show 

theApp.run 

Bu, bir * Nix kutusunun üzerinde olmak (ya da $ HOME ortamı değişken seti olan) dayanır. Özellikle sorunuza cevap hatları şunlardır: İkinci pencerenin başlık, İşte

theButton.connect(SEL_COMMAND) { 
fileToOpen = FXFileDialog.getOpenFilename(theMainWindow, "window name goes here", `echo $HOME`.chomp + "/") 
} 

, ilk argüman iletişim kutusunu sahibi penceredir ve üçüncü başlamak varsayılan yoludur (Sonunda "/" ye ihtiyacınız var, aksi takdirde kullanıcının ana klasörü seçiliyken daha yüksek bir dizin başlatacaktır). FXFileDialog hakkında daha fazla bilgi için this link'a bakın.