er...@rail.eu.org
未讀,2012年2月23日 上午5:09:4423/2/2012您沒有權限刪除此群組中的訊息
該群組的電子郵件地址為匿名,或你需要檢視成員電子郵件地址的權限才能查看原始貼文
收件者︰
Je fais du rubyTk, mais je pense que le rpoblème est plus TK que ruby,
d'où la suite sur fr.comp.lang.tcl
Je veux une zone de texte scrollable pour que mon programme inscrive des
messages. J'aimerais que les nouveaux messages soient insérés à la fin,
et que le scroll soit automatique pour que kles derniers messages (ceux
du bas) soient affichés. Mon code (simplifié) actuil est le suivant:
@messagesZone=TkText.new(messagesFrame){
height 3
relief 'sunken'
state 'disabled'
wrap 'word'
grid 'row'=>0, 'column'=>1, :sticky=>'nsew'
}
@messageScroll=Tk::Tile::Scrollbar.new(messagesFrame) {
grid 'row'=>0, 'column'=>0, :sticky=>'ns'
}
@messagesZone.yscrollbar(@messageScroll)
TkGrid.columnconfigure(messagesFrame,1,:weight=>1)
TkGrid.rowconfigure(messagesFrame,0,:weight=>1)
La fonction d'ajout de message est
def addMessage(string)
@messagesZone.state('normal')
@messagesZone.insert('end',string)
@messagesZone.state('disabled')
end
Mais je ne vois pas quoi mettre dans cette fonction pour faire scroller,
car actuellement une fois la widget remplie, les nouveaux messages sont
invisibles, sauf à scroller soit même. Que faire pour obtenir ce
comportement ?
Merci.
--
Le travail n'est pas une bonne chose. Si ça l'était,
les riches l'auraient accaparé