problem sa dijalozima u C++u
zdravo svima :]
prijatelj me je uputio na ovaj sajt, gde bih mogla naci odgovor ili pomoc nekog iskusnijeg sa C++em. problem je sledeci. uradila sam slicice da bih lakse objasnila, davacu koordinaciju. napravljen je dijalog, koji se sastoji iz jednog, da tak okazem, fiksnog dela (lista sa leve strane), i desnog dela na kom se nalazi "child" dijalog. (ne znam kako bih drukcije rekla na nasem jeziku) taj child dijalog je napravljen sam za sebe, i da bi bio u funkciji, mora se nakaciti na taj glavni, pomocu fje AttachChildDlg, koju smo mi pravili. u toj listi, stoje 4 stavke, i na kliktanje bilo koje, taj child dijalog se menja u zeljeni, pritom, se taj koji je bio prethodno, "otkaci" (fjom DetachChildDlg), a novi, izabrani, nakaci i radi na njemu. dakle tako to funckionise desava se sledece, gubitak dela dijaloga, kada se sa child dijaloga pozove sledeci dijalog, pa sa njega jos jedan, i vrati na taj pocetni. svi ovi dijalozi koje sad pominjem se "kace" na prethodni i prilikom izlaska sa njega, se "otkace". kad prodjem kroz gorepomenute fje, i one iz kojih ih zovem, dakle kompletno kroz taj deo koda - bude sve u redu. ne znam sta bih mogla da uradim..postavicu i delove koda ako neko ima ideje sta bi jos moglo biti..mozda je nesto u samim properties od dijaloga, ali nema sta nisam probala. glavni dijalog, na kom je sa leve meni u vidu liste, a sa desne strane je taj child, "nakacen". ilustracija: kad se kline na zaokruzeno, otvori se sledeci dijalog i onda se opet markira nesto, i otvori i poslednji dijalog vratim se kroz OK do prethodnog, pa opet OK do prvog i: eto tako..pa ako neko ima i najmanju ideju, molim da napise :) |
ne vidim opciju da izmenim nesto u svojoj poruci, pa samo da naglasim ono sta sam zaboravila a veoma je bitno:
taj prvi child dijalog, u sebi sadrzi jos jedan child - to je ta izdeljena listica koja posle nestane tj bude tamna. dakle, child dijalog na child dijalogu, sa kog se poziva jedan dijalog, pa iz njega drugi, i onda vraca na pocetni. |
Šta koristiš za te dijaloge? Borland? Ili MFC, Qt, nešto drugo?
|
ups izvinjavam se, i to zaboravih reci.
visual studio 2005, c++ za dijaloge, da, MFC - Dialog editor, standardno sta opcije iz VS nude, dugmice, edit boxove, liste, picture control (to koristim upravo za child dijaloge) itd. (nadam se da sam dala odgvor na pitanje) |
Mogu samo da nagađam ovako bez koda, ali da li ti je ta "nestajuća" list kontrola deklarisana kao lista u resource editoru ili se dodaje dinamički na dijalog?
Takođe, nije mi jasno čemu ta picture control ako ne prikazuješ slike. U stvari, kladim se da je taj "prazan" prostor koji se vidi kad zatvoriš dijaloge baš ta kontrola. |
Citat:
ta lista jeste list control na jednom child dijalogu, koji se jos negde drugde koristi, a taj sam child je istovremeno child od onog koji se nalazi na ovom parent dijalogu. -> vidi sliku sad, cemu taj picture control, on mi sluzi kao mesto na kom dolazi child dijalog. kako inace da osiguram gde, tj na kojoj poziciji u tom parentu, ce se zakaciti child? tako je radjeno pre u programu u nekim jednostavnijim slucajevima. nisam znala sta drugo da radim deo koda, koji bi ti mogao biti interesantan: mesto u glavnom dijalogu gde se radi spajanje dijaloga: Kôd:
case 0: u tom prvom child dijalogu, OnInit fja Kôd:
BOOL CFdevEditInfolist::OnInitDialog() Kôd:
BOOL CFieldDevicePropsDlg::OnInitDialog () Kôd:
void CFieldDevicePropsDlg::OnEdit () |
Pojma nemam :)
Šta kaže Spy++? Prati poruke koje stižu toj kontroli i vidi da li će da se pojavi nešto kao WM_DESTROY. |
uopste se ne snalazim sa tim Spy++em :(
tacno smo utvrdili da je problem u toj listi, jer npr ako pomerimo malo te pozvane dijaloge, tako da ne zaklanjaju listu, i vratimo se sa OK, bude dobro. ako ostanu delimicno preko - samo zaklonjen deo liste bude taman. evo primera http://i213.photobucket.com/albums/c...604/komp/a.jpg http://i213.photobucket.com/albums/c...604/komp/b.jpg i http://i213.photobucket.com/albums/c...604/komp/c.jpg http://i213.photobucket.com/albums/c...604/komp/d.jpg ni u jednom trenutku janemam potrebu da ubijam tu listu, zar ne? |
Pa to zvuci kao problem sa iscrtavanjem.
Malo se teze snaci sa svim ovim sto si napisala pa samo nagadjam, probaj ovaj deo code-a izbaciti iz komentara: Kôd:
/*::InvalidateRect(listProperties.m_hWnd, NULL, TRUE); |
Vreme je GMT +2. Trenutno vreme je 15:44. |
Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.