NASZE SERWISY:    ANDROID   LINUX   MAEMO   SYMBIAN   WEBOS




Hosting sponsoruje:



GRIN3 - polskie fonty

Profesjonalne czcionki z polskimi znakami - czcionki.com

OpenMobile on Facebook


 

Graficzny interfejs

Graficzny interfejs

Postprzez lukasz18101988 » 17 kwietnia 2010, o 18:26

Witam.
Zaczynam dopiero programowanie w Symbianie. Przeczytałem kilka ksiązek na ten temat, a teraz chciałbym zacząć pisać proste aplikacje żeby się z tym oswoić.
Chodzi mi konkretnie o to , że nie wiem jak np.
Jest aplikacja z menu z kilkoma opcjami. Dodam sobie kolejną opcję ,np. wyświetlenie liczb losowych.
I teraz mam kod funkcji której deklaracja wyglada tak: int liczby_losowe( void ); , wiec nie potrzeba żadnego parametru dla niej. I chcę zrobić tak, że jeśli wybiorę w menu opcję "wyświtlenie ... " to uruchomi się ta funkcja i na ekranie będzie przedstawiony jej wynik. I nie wiem gdzie to wszystko połączyć ze sobą.

Proszę o pomoc .
lukasz18101988
1%
1%
 
Posty: 8
Dołączył(a): 2 marca 2010, o 18:54
    WindowsXPOpera

Re: Graficzny interfejs

Postprzez mawhy » 18 kwietnia 2010, o 15:15

Uważam że możesz wygenerować w Carbide C++ projekt obsługujący wiele widoków. Natomiast za budowe menu odpowiada plik zasobów natomiast za obsługę zdarzeń menu metodą HandleCommandL( TInt aCommand )

Kod: Zaznacz cały
**
* Handle a command for this view (override)
* @param aCommand command id to be handled
*/
void CHelloworldContainerView::HandleCommandL( TInt aCommand )
   {
   // [[[ begin generated region: do not modify [Generated Code]
   TBool commandHandled = EFalse;
   switch ( aCommand )
      {   // code to dispatch to the AknView's menu and CBA commands is generated here
      case EHelloworldContainerViewShow_MessageMenuItemCommand:
         commandHandled = HandleShow_MessageMenuItemSelectedL( aCommand );
         break;
      default:
         break;
      }
   
      
   if ( !commandHandled )
      {
   
      if ( aCommand == EAknSoftkeyExit )
         {
         AppUi()->HandleCommandL( EEikCmdExit );
         }
   
      }
   // ]]] end generated region [Generated Code]
   
   }



a kod za obsługę zdarzenia

Kod: Zaznacz cały
**
* Handle the selected event.
* @param aCommand the command id invoked
* @return ETrue if the command was handled, EFalse if not
*/
TBool CHelloworldContainerView::HandleShow_MessageMenuItemSelectedL( TInt aCommand )
   {
   // TODO: implement selected event handler
        TBuf<32> buf;
        buf.AppendNum(liczby_losowe());
        _LIT(KLiczbyLosowe, buf);
        buf.Zero();
   iEikonEnv->AlertWin(KLiczbyLosowe);
   return ETrue;
   }


I wyświetli się okno dialogowe z liczbą losową

Pozdrawiam
Michał Małaj
mawhy
30%
30%
 
Posty: 104
Dołączył(a): 19 stycznia 2008, o 00:24
Lokalizacja: Lublin
    WindowsXPFirefox

Re: Graficzny interfejs

Postprzez lukasz18101988 » 25 kwietnia 2010, o 15:43

Dzięki za odpowiedź :) Trochę po swojemu chciałbym to zrobić, ponieważ aplikacji wielowidokowych jeszcze nie przejrzałem.
Wyskakuje mi błąd podczas komilacji. Głównie chodzi mi o to , by przerabiać przykłady które są dostępne na stronie nokii
http://wiki.forum.nokia.com/index.php/P ... e_Examples. Chciałbym się spytać czy to dobra metoda ?? Niby są podane klasy itd, ale potrzeba jednak wprawy w tym by dobrze nimi dysponować :)



Kod: Zaznacz cały


#include <random.h>
#include <e32math.h>

// ...
// ...
// ...

void CLiczbyLosoweAppUi::HandleCommandL(TInt aCommand)
   {
   switch (aCommand)
      {
      case EEikCmdExit:
      case EAknSoftkeyExit:
         Exit();
         break;
       // obsłużenie polecenia menu
      case ELiczby:
               {
   
         //TRandom* rrr = new TRandom();
         
         
         TBuf8<10> prngData;
         prngData.SetLength( prngData.MaxLength() );
         TRandom::RandomL(prngData);      // tutaj wyrzuca blad przy kompilacji
// Undefined symbol: 'void TRandom::RandomL(class TDes8 &) (?RandomL............... )
               
               }
               break;
         
         

lukasz18101988
1%
1%
 
Posty: 8
Dołączył(a): 2 marca 2010, o 18:54
    WindowsXPOpera

Re: Graficzny interfejs

Postprzez mawhy » 26 kwietnia 2010, o 11:15

Czy dopisałeś do pliku mmp tego projektu LIBRARY random.lib?

A co do przykładów na Wiki to trzeba znać podstawy AVKONa i programowania w C++ dla Symbiana

Pozdrawiam
Michał Małaj
mawhy
30%
30%
 
Posty: 104
Dołączył(a): 19 stycznia 2008, o 00:24
Lokalizacja: Lublin
    WindowsXPFirefox

Re: Graficzny interfejs

Postprzez lukasz18101988 » 26 kwietnia 2010, o 22:21

dzieki za pomoc :) Faktycznie nie dodałem biblioteki w pliku .mmp
lukasz18101988
1%
1%
 
Posty: 8
Dołączył(a): 2 marca 2010, o 18:54
    WindowsXPOpera


Powrót do Symbian C++

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość