Squak Smalltalk [6 * 9 = 42] whileTrue: [World run]
Stopařův průvodce jedním převážně neškodným programovacím jazykem
smalltalk
Swiki
  • Domů
  • Zpět
  • Tento server

    Squeak
  • Úvod
  • Smalltalk
  • Články
  • Knihy
  • Dokumentace
  • FAQ
  • Tutoriály
  • Download
  • Odkazy

    Komunita
  • CSSUG
  • Oznámení
  • Projekty
  • O nás
  • Fórum
  • Kontakt

     

  • Reakce na změnu velikosti hlavního okna Squeaku

    Když si prohlédnete možnosti, jaké poskytuje VM Squeaku interpretu, zjistíte, že VM žádným způsobem interpret neinformuje o změně velikosti hlavního okna Squeaku. Máte možnost získat pouze informace o jeho aktuální velikosti a rozlišení.

    Pokud potřebujete reagovat na změnu velikosti hlavního okna, je ji třeba neustále v cyklu sledovat, např. takto:
    [
    	| oldExtent delay |
    
    	oldExtent := Display extent copy.
    	delay := Delay forMilliseconds: 100.
    	[
    		oldExtent = Display extent 
    			ifFalse: [ oldExtent := Display extent copy. Display onResize ]
    			ifTrue: [ delay wait ].
    	] repeat.
    ] forkAt: Processor lowestPriority

    Display onResize je pak vámi vytvořená zpráva s reakcí na tuto událost.

    Nicméně tato činnost se již ve Squeaku provádí - konkrétně v metodě Controller interActivityPause. Zde se volá metoda DisplayScreen checkForNewScreenSize. Případnou reakci proto můžete vložit do této metody.

    Odkaz na tuto stránku

    • Tipy a triky, poslední úprava dne 7 Červen 2005 v 17:09:31 uživatelem dotnet





    Administrátoři: Pavel Křivánek, Zbyněk Křivka