eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › mfc - propagowanie notyfikacji
Ilość wypowiedzi w tym wątku: 9

  • 1. Data: 2012-02-13 19:36:58
    Temat: mfc - propagowanie notyfikacji
    Od: Kicer <...@...c>

    Witam

    Na wstępie zaznaczam, że dopiero zaczynam się uczyć mfc.
    Mam program w którym był obiekt klasy dziedziczącej po CWin.
    Zawierał on dwa podokna, z czego jednym jest CTreeCtrl.

    CTreeCtrl za pomocą WM_NOTIFY daje znać rodzicowy, gdy użytkownik kliknął na
    element drzewa.

    Chciałbym dodać pomiędzy bieżącego obiektu-rodzica a jego dzieci, obiekt
    który będzie zarządzał inteligentnie ich rozmieszczeniem (coś na wzór
    layoutów z Qt).

    Czyli mam tak: główny rodzic (CWin) -> layout (CWin) -> dzieci (w tym
    CTreeCtrl).

    Jak zmusić obiekt layoutu, aby wszystkie notyfikacje dzieci (abstrahując
    teraz od CTreeCtrl) były propagowane do właściwego rodzica?
    Probowałem w MESSAGE_MAP dla layoutu dodać ON_MESSAGE(WM_NOTIFY, foo), tak,
    aby następnie wszystkie przychodzące notyfikacje posłać do parenta, ale
    funkcja foo w ogóle sie nie woła.

    pozdrawiam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519


  • 2. Data: 2012-02-13 20:06:13
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Bronek Kozicki <b...@s...net>

    On 13/02/2012 19:36, Kicer wrote:
    > Chciałbym dodać pomiędzy bieżącego obiektu-rodzica a jego dzieci, obiekt
    > który będzie zarządzał inteligentnie ich rozmieszczeniem (coś na wzór
    > layoutów z Qt).

    kiedyś używałem tego do zarządzania layout:
    http://msdn.microsoft.com/en-us/magazine/cc302145.as
    px , nie jest trudne
    do zrozumienia.

    Możesz też poczytać sobie
    http://www.codeproject.com/Articles/116/Layout-Manag
    er-for-Dialogs-Formviews-DialogBars-an
    i przejrzeć artykuły z
    http://www.codeguru.com/cpp/w-d/dislog/resizabledial
    ogs/

    Sorki że mało konkretna pomoc, ale kilku lat skutecznie udaje mi się
    unikać MFC i nie zamiarzam się w tym znowu rozgrzebywać :) Co do samego
    WM_NOTIFY, pamiętam że trzeba było ustawić odpowiednie flagi w kontrolce
    żeby zostało cokolwiek przekazane rodzicowi.


    B.


  • 3. Data: 2012-02-13 21:01:40
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Andrzej Jarzabek <a...@g...com>

    On 13/02/2012 19:36, Kicer wrote:
    > Witam
    >
    > Na wstępie zaznaczam, że dopiero zaczynam się uczyć mfc.
    > Mam program w którym był obiekt klasy dziedziczącej po CWin.
    > Zawierał on dwa podokna, z czego jednym jest CTreeCtrl.
    >
    > CTreeCtrl za pomocą WM_NOTIFY daje znać rodzicowy, gdy użytkownik kliknął na
    > element drzewa.
    >
    > Chciałbym dodać pomiędzy bieżącego obiektu-rodzica a jego dzieci, obiekt
    > który będzie zarządzał inteligentnie ich rozmieszczeniem (coś na wzór
    > layoutów z Qt).
    >
    > Czyli mam tak: główny rodzic (CWin) -> layout (CWin) -> dzieci (w tym
    > CTreeCtrl).

    Dwa pytanka:
    1. Dlaczego nie zrobisz tego, co chiałbyś mieć w tym layoucie, po prostu
    z rodzica?
    2. Rozważałeś skorzystanie z Document/View?


  • 4. Data: 2012-02-13 21:09:03
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Kicer <...@...c>

    Andrzej Jarzabek wrote:

    > Dwa pytanka:
    > 1. Dlaczego nie zrobisz tego, co chiałbyś mieć w tym layoucie, po prostu
    > z rodzica?

    hmm w zasadzie mogłbym i od biedy zrobię. Chciałem mieć coś reusable.

    > 2. Rozważałeś skorzystanie z Document/View?

    Pierwotnie próbowalem, aczkolwiek dokumentacja Microsoftu jest potwornie
    nieprzyjazna w tym temacie.

    pozdrawiam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519


  • 5. Data: 2012-02-13 21:09:26
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Kicer <...@...c>

    Bronek Kozicki wrote:

    > On 13/02/2012 19:36, Kicer wrote:
    >> Chciałbym dodać pomiędzy bieżącego obiektu-rodzica a jego dzieci, obiekt
    >> który będzie zarządzał inteligentnie ich rozmieszczeniem (coś na wzór
    >> layoutów z Qt).
    >
    > kiedyś używałem tego do zarządzania layout:
    > http://msdn.microsoft.com/en-us/magazine/cc302145.as
    px , nie jest trudne
    > do zrozumienia.
    >
    > Możesz też poczytać sobie
    > http://www.codeproject.com/Articles/116/Layout-Manag
    er-for-Dialogs-
    Formviews-DialogBars-an
    > i przejrzeć artykuły z
    > http://www.codeguru.com/cpp/w-d/dislog/resizabledial
    ogs/
    >
    > Sorki że mało konkretna pomoc, ale kilku lat skutecznie udaje mi się
    > unikać MFC i nie zamiarzam się w tym znowu rozgrzebywać :) Co do samego
    > WM_NOTIFY, pamiętam że trzeba było ustawić odpowiednie flagi w kontrolce
    > żeby zostało cokolwiek przekazane rodzicowi.
    >

    Dzięki, poczytam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519


  • 6. Data: 2012-02-13 21:28:32
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Andrzej Jarzabek <a...@g...com>

    On 13/02/2012 21:09, Kicer wrote:
    > Andrzej Jarzabek wrote:
    >
    >> Dwa pytanka:
    >> 1. Dlaczego nie zrobisz tego, co chiałbyś mieć w tym layoucie, po prostu
    >> z rodzica?
    >
    > hmm w zasadzie mogłbym i od biedy zrobię. Chciałem mieć coś reusable.

    Możesz zrobić podklasę CWnd i potem dziedziczyć z niej dalej:

    class LayoutWnd: public CWnd {
    public:
    void onCostamCostam() [...]
    [...]
    private:
    Layout layout;
    DECLARE_MESSAGE_MAP()
    };
    [...]
    BEGIN_MESSAGE_MAP(LayoutWnd, CWnd)
    [...]


    >> 2. Rozważałeś skorzystanie z Document/View?
    >
    > Pierwotnie próbowalem, aczkolwiek dokumentacja Microsoftu jest potwornie
    > nieprzyjazna w tym temacie.

    Polecam książkę "Beginning MFC Programming" Ivora Hortona. Tam jest
    wszystko fajnie objaśnione (pomijając że jest bardzo stara i opisuje
    korzystanie z jakichś wizardów które wywalono z VS za późniego króla
    ćwieczka, ale to można przeboleć).


  • 7. Data: 2012-02-13 21:49:34
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Andrzej Jarzabek <a...@g...com>

    On 13/02/2012 21:09, Kicer wrote:
    > Andrzej Jarzabek wrote:
    >
    >> 2. Rozważałeś skorzystanie z Document/View?
    >
    > Pierwotnie próbowalem, aczkolwiek dokumentacja Microsoftu jest potwornie
    > nieprzyjazna w tym temacie.

    Jeszcze: W sumie nie jest to takie skomplikowane, weź na dzień dobry
    stwórzy sobie najprostszą aplikację document/view wizardem, zobaczysz o
    co chodzi. Masz tam podklasę CView która obsługuje widok, wizard ci ją
    wpakuje w CFrameWnd albo CMDIChildWnd, i swoją podklasę CDocument, w
    której trzymasz dane (w tym przypadku może być layout). Framework
    routuje ci nieobsłużone WM_COMMANDy z widoku do dokumentu - z innymi
    komunikatami zdaje się niestety musisz sam obsłużyć w view i powołać
    odpowiednie funkcje na dokumencie.


  • 8. Data: 2012-02-15 19:08:25
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Kicer <...@...c>

    Andrzej Jarzabek wrote:

    > On 13/02/2012 21:09, Kicer wrote:
    >> Andrzej Jarzabek wrote:
    >>
    >>> 2. Rozważałeś skorzystanie z Document/View?
    >>
    >> Pierwotnie próbowalem, aczkolwiek dokumentacja Microsoftu jest potwornie
    >> nieprzyjazna w tym temacie.
    >
    > Jeszcze: W sumie nie jest to takie skomplikowane, weź na dzień dobry
    > stwórzy sobie najprostszą aplikację document/view wizardem, zobaczysz o
    > co chodzi. Masz tam podklasę CView która obsługuje widok, wizard ci ją
    > wpakuje w CFrameWnd albo CMDIChildWnd, i swoją podklasę CDocument, w
    > której trzymasz dane (w tym przypadku może być layout). Framework
    > routuje ci nieobsłużone WM_COMMANDy z widoku do dokumentu - z innymi
    > komunikatami zdaje się niestety musisz sam obsłużyć w view i powołać
    > odpowiednie funkcje na dokumencie.


    dzięki za podpowiedź

    pozdrawiam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519


  • 9. Data: 2012-02-15 19:08:36
    Temat: Re: mfc - propagowanie notyfikacji
    Od: Kicer <...@...c>

    Andrzej Jarzabek wrote:

    > On 13/02/2012 21:09, Kicer wrote:
    >> Andrzej Jarzabek wrote:
    >>
    >>> Dwa pytanka:
    >>> 1. Dlaczego nie zrobisz tego, co chiałbyś mieć w tym layoucie, po prostu
    >>> z rodzica?
    >>
    >> hmm w zasadzie mogłbym i od biedy zrobię. Chciałem mieć coś reusable.
    >
    > Możesz zrobić podklasę CWnd i potem dziedziczyć z niej dalej:
    >
    > class LayoutWnd: public CWnd {
    > public:
    > void onCostamCostam() [...]
    > [...]
    > private:
    > Layout layout;
    > DECLARE_MESSAGE_MAP()
    > };
    > [...]
    > BEGIN_MESSAGE_MAP(LayoutWnd, CWnd)
    > [...]
    >
    >
    >>> 2. Rozważałeś skorzystanie z Document/View?
    >>
    >> Pierwotnie próbowalem, aczkolwiek dokumentacja Microsoftu jest potwornie
    >> nieprzyjazna w tym temacie.
    >
    > Polecam książkę "Beginning MFC Programming" Ivora Hortona. Tam jest
    > wszystko fajnie objaśnione (pomijając że jest bardzo stara i opisuje
    > korzystanie z jakichś wizardów które wywalono z VS za późniego króla
    > ćwieczka, ale to można przeboleć).

    dzięki:)

    pozdrawiam

    --
    Michał Walenciak
    gmail.com kicer86
    http://kicer.sileman.net.pl
    gg: 3729519

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: