Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nietypowa obsługa kontrolki
Konnekt | Forum > Developerzy > Tworzenie wtyczek
KoSiarzPL
Chciałbym obsłużyć dość nietypowo kontrolkę w konfiguracji. Kontrolką tą będzie comboBox. Chcę uzyskać następujący efekt:

1. Utworzyć kontrolkę (combobox) w konfiguracji, którego id nie jest z góry narzucone (nie jest sztywne), jednak potrzebuję jego ID
2. Najlepiej by komórka ta nie zapisywała swojego stanu do konfiguracji
3. Ustawić wartość kontrolki przy jej tworzeniu na wybraną przeze mnie

Wykonuję następujące czynności:
CODE
Ctrl->SetColumn( DTCFG, -1, DT_CT_STR, "-1", this->prefix + "/domyslneKonto" );
[...]
UIActionAdd( cfg, IMIB_CFG, ACTT_COMBO | ACTSCOMBO_NOICON | ACTR_INIT, "", Ctrl->DTgetNameID(DTCFG, this->prefix + "/domyslneKonto") );
[...]
if( id == Ctrl->DTgetNameID( DTCFG, this->dtPrefix + "/domyslneKonto" ) )
{
    if( anBase->code == ACTN_CREATE )
    {        
        UIActionCfgSetValue( anBase->act, "asdf" );    //ustawiam zawartosc comboboxa #1 !
        UIActionSetText( anBase->act, konta.c_str() );    //ustawiam zawartosc dropdown listy
    }
}


Wszystko działa jak powinno oprócz linni "#1" czyli nie wiem jak ustawić wartość comboBoxa. Inny problem to taki że w tym przypadku potrzebuję kolumny konfiguracji, która oczywiście przechowuje wartość tej kontrolki. Jak pozbyć się tworzenia kolumny konfiguracji, tak żeby to dalej działało. Dzięki!
Olórin
QUOTE
Najlepiej by komórka ta nie zapisywała swojego stanu do konfiguracji

Ale po co w takim razie w ogole rejestrujesz kolumne konfiguracji i podajesz id kolumny przy tworzeniu kontrolki - to nie jest obowiązkowe, a opcjonalne wink.gif
Aule
Daj jej jakiś id zamiast IMIB_CFG.
Może najpierw wypełń drop listę, a później ustaw co ma być wybrane? Jakoś bardziej intuicyjnie.
KoSiarzPL
OK poszedłem za waszą radą. Obecnie mam tak:
CODE
UIActionAdd( cfg, 11111, ACTT_COMBO | ACTSCOMBO_NOICON | ACTR_INIT | ACTSCOMBO_LIST, "");
[...]
if( id == 11111 )
{
    string konta = "a@a\nb@b";

    if( anBase->code == ACTN_CREATE )
    {        
        UIActionSetText( anBase->act, konta.c_str() );    //ustawiam zawartosc dropdown listy
        UIActionCfgSetValue( anBase->act, "a@a" );    //ustawiam zawartosc comboboxa #1 !
    }
}
Jednak dalej nie potrafię ustawić wartości początkowej. Wie ktoś jak to zrobić?

Dodam, że linijka:
CODE
UIActionCfgGetValue( sUIAction(11110, 11111), 0, 0);
, działa!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.