Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

ListView - dodawanie elementów z innych kontrolek po naciśnięciu przycisku

Ostatnio zmodyfikowano 2011-05-11 23:43
Autor Wiadomość
Osina
Temat założony przez niniejszego użytkownika
» 2011-05-07 23:03:30
Wydaję mi sie, że się nie zrozumieliśmy.

W tym momencie mój ListView wygląda tak:
http://imageshack.us/photo/my-images/218/listview.png/

Jak widać wpisałem tekst do itemów. Chodzi mi o to, że:
pobieram tekst z "Data", "Nazwa Części", "Ilosc" i po naciśnięciu buttona "Dodaj" ten tekst wskakuje do odpowiednich kolumn w ListView. Próbowałem to zrobić np tak:
makra ListView_SetItemText umieścić w obsłudze komunikatu WM_COMMAND (na obrazku są w WM_INITDIALOG), czyli
C/C++
case WM_COMMAND:
{
    switch( wParam )
    {
    case IDC_BUTTON2:
        ListView_SetItemText( hListView, 0, 0,( LPSTR ) porzadkowa.c_str() );
        //... pozostałe 3 makra
        break;
Niestety nic to nie dało. To jedyny sposób, który mi przychodzi do głowy, niestety niedziałający.
P-32810
DejaVu
» 2011-05-07 23:11:45
W zasadzie to ja Ciebie bardzo dobrze zrozumiałem i do dobrej lekcji odesłałem. Zrób najpierw żeby po kliknięciu przyciku dodaj dopisywało kolejne wiersze z jakimś na sztywno wbitym tekstem. Później zamiast tekstu 'sztywnego' odczytujesz aktualny stan z kontrolek, które Ciebie interesują i gotowe :)
P-32813
malan
» 2011-05-07 23:12:30
Mógłbyś tak zrobić, ale tylko jeżeli wcześniej dodałbyś do listy wiersze za pomocą
ListView_InsertItem
. Ty zapewne tego nie zrobiłeś i chcesz zmienić tekst wiersza (w danej kolumnie), który nie istnieje...
P-32814
Osina
Temat założony przez niniejszego użytkownika
» 2011-05-07 23:31:54
@DejaVu, tylko, że ja nawet tego "sztywno wbitego tekstu" nie umiem dodać przyciskiem. Przestudiuje jeszcze raz te lekcje, które mi podesłałeś - może coś mi umknęło

@malan, mam dodany wiersz przez ListView_InsertItem, gdybym tego nie zrobił nie wyświeliło by mi się nawet to co mam teraz, więc chyba nie w tym problem
P-32816
malan
» 2011-05-07 23:51:23
Tak, ale dodanie każdego nowego wiersza jest równe wywołaniu
ListView_InsertItem
, rozumiesz? ;) Nie dodasz nowego wiersza bez tej funkcji. Chyba, że Cię źle rozumiem ;p
P-32824
Osina
Temat założony przez niniejszego użytkownika
» 2011-05-08 00:22:22
Tak malan, rozumiem, jeden wiersz mam juz utworzony
P-32827
Osina
Temat założony przez niniejszego użytkownika
» 2011-05-09 16:08:56
No więc przeczytałem jeszcze kilka razy te lekcje i nic nie wymyśliłem. Zastanawiam się tylko czy ten kod opisany przy EditLabels mógłby się w jakiś sposób przydać. Wpadłem jednak na inny pomysł. Niestety jest on dość niepraktyczny. Otóż zauważyłem, że te struktury wpływające na wygląd ListView (np. LVITEM) muszą być w jednej procedurze, np WM_INITDIALOG. W związku z tym wymyśliłem, że:
1. byłyby dwa ListView
2. pierwszy wyświetlałby tylko to co użytkownik wprowadził wcześniej (przy pierwszym uruchomieniu programu nie wyświetlałby nic)
3. drugi tworzyłby się po naciśnięciu buttona i zastępował ten pierwszy (ten pierwszy robiłby się niewidoczny). Wyświetlałby on treść pierwszego ListView + to co użytkownik wklepał do tamtych innych kontrolek przed naciśnięciem buttona
P-32898
DejaVu
» 2011-05-09 16:23:19
Potrafisz zrobić aplikację, która wyświetla komunikat (np. MessageBox) po wciśnięciu przycisku? Jeżeli tak to nie widzę powodu dla którego nie potrafiłbyś dodawać elementów do listview (na tle czego do tej pory udało Ci się dokonać). Kolega napisał Ci wcześniej, że powinieneś użyć do tego innej funkcji (a w zasadzie makra).
P-32899
1 « 2 » 3
Poprzednia strona Strona 2 z 3 Następna strona