Autor Wątek: [podstawy] Okno Konfiguracji Wtyczki  (Przeczytany 7345 razy)

0 Użytkowników i 2 Gości przegląda ten wątek.

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #20 dnia: Czerwiec 04, 2012, 08:25:47 am »
cos musiales spieprzyc... kod jest ok, takie cos dziala, a roznic nie widze
        {
            wtwOptionPageDef def;
            initStruct(def);

            def.callback    = SettingsPage::callback;
            def.id            = L"Sounds/Options";
            def.caption        = L"Dźwięki";
            def.parentID    = WTW_OPTIONS_GROUP_PLUGINS;
            def.iconID        = SOUNDS_ICON_ID;
            wtw->fnCall(WTW_OPTION_PAGE_ADD, reinterpret_cast<WTW_PARAM>(ghInstance), reinterpret_cast<WTW_PARAM>(&def));
        }

sprobuj callback zrobic w taki sposob
extern "C"
{
WTW_PTR __cdecl callback(WTW_PARAM, WTW_PARAM, void*)
{
__LOG(wtw, L"LOL", L"ROTFL");
return 0;
}
}

Offline SubZero

Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #21 dnia: Czerwiec 27, 2012, 17:04:37 pm »
Dobra, problem rozwiązany - nie przekazywałem hInstance z DllMain -_-'
Ale teraz pojawił się (chyba) nowy, otóż w callbacku okna opcji WTW_OPTIONS_PAGE_ACTION_MOVE dostaję tylko przy zmianie rozmiaru okna a przy przesuwaniu już nie. Tak ma być? czy znowu coś schrzaniłem?

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #22 dnia: Czerwiec 27, 2012, 21:20:59 pm »
tak ma byc/bez roznicy w sumie jezeli uzywasz MoveWindow

Offline SubZero

Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #23 dnia: Czerwiec 28, 2012, 06:42:04 am »
Ale chwila, bo nie rozumiem... Klasa SettingsPage (do której należy MoveWindow) to jakaś twoja klasa do obsługi okienka tak? Wywołujesz SettingsPage->MoveWindow, żeby przesunąć okno. Ale w takim razie jak reagujesz na przesunięcie całego okna opcji, skoro wtedy w ogóle callback się nie odpala?

Mam w callbacku kod:
switch(info->action)
    {
    case WTW_OPTIONS_PAGE_ACTION_SHOW: 
        {
            myLOG("Show");
            break;     
        }
    case WTW_OPTIONS_PAGE_ACTION_MOVE:
        {
            myLOG("Move");
            break;
        }
    case WTW_OPTIONS_PAGE_ACTION_HIDE:
        {
            myLOG("Hide");
            break;
        }
    case WTW_OPTIONS_PAGE_ACTION_APPLY: 
        {
            myLOG("Apply");
            break;
        }
    case WTW_OPTIONS_PAGE_ACTION_OK:
        {
            myLOG("Ok");
            break;
        }
    case WTW_OPTIONS_PAGE_ACTION_CANCEL: 
        {
            myLOG("Cancel");
            break;
        }
    }
i "Move" w konsoli dostaję tylko przy zmianie rozmiaru okna, przy przesunięciu już nie...

Offline adrian_007

  • Master Developer
  • Starszyzna
  • *
    • WTW PLUGINS
Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #24 dnia: Czerwiec 28, 2012, 07:58:26 am »
MoveWindow

poza tym chyba nie do konca rozumiesz co to 'przesuniecie' okna (bynajmniej nie zlapanie za pasek tytulowy i przeciagniecie myszka)

Offline SubZero

Odp: [podstawy] Okno Konfiguracji Wtyczki
« Odpowiedź #25 dnia: Czerwiec 28, 2012, 12:11:02 pm »
Ok, sprawa rozwiązana, widać Parent w CLR to nie to samo co Parent w ATL/MFC/w_czym_tam_kaw_pisze.

Cytuj
poza tym chyba nie do konca rozumiesz co to 'przesuniecie' okna (bynajmniej nie zlapanie za pasek tytulowy i przeciagniecie myszka)
Fakt, myślałem że to reakcja na przesunięcie całego okna opcji a nie przesunięcie mojego okienka w ramach okna opcji.