@MarekR22: @AnyKtokolwiek Proszę cały kod z pliku.cpp. Linia 192-196, właśnie w tych liniach ma działać wxListCtrl. Przepraszam że tak długo nie odpowiadałem ale miałem krucho z czasem.
#include"deklaracja.h"
baza user;
//definicja okno
BEGIN_EVENT_TABLE(okno, wxFrame)
EVT_BUTTON(2, okno::generowanie_ksiazki)
EVT_BUTTON(3, okno::generowanie_uczniowie)
END_EVENT_TABLE()
//koniec definicja okno
//definicja okno_ksiazki
BEGIN_EVENT_TABLE(okno_ksiazki, wxFrame)
EVT_BUTTON(15, okno_ksiazki::wykonanie_polecenie_sql_dodaj_ksiazke)
EVT_BUTTON(28, okno_ksiazki::wykonanie_polecenia_sql_wyporzycz_ksiazke)
EVT_BUTTON(41, okno_ksiazki::wykonanie_polecenia_sql_oddaj_ksiazke)
EVT_CHECKBOX(4, okno_ksiazki::czas_systemowy)
EVT_BUTTON(43, okno_ksiazki::wykonanie_polecenia_sql_ususwanie_ksiazki)
END_EVENT_TABLE()
//koniec definicja okno_ksiazki
//definicja okno_uczniowie
BEGIN_EVENT_TABLE(okno_uczniowie, wxFrame)
END_EVENT_TABLE()
//koniec definicja okno_uczniowie
//kostruktory
okno::okno(const wxString &title, const wxPoint & po, const wxSize &si, long style) :wxFrame(NULL, -1, title, po, si, style)
{
wxPanel *tlo = new wxPanel(this, 1, wxPoint(50, 50), wxSize(240, 340));
wxButton *przycisk_do_generowania_panelu_ksiazki = new wxButton(tlo, 2, _T("Ksiazki"), wxPoint(60, 50), wxSize(100, 50));
wxButton *przycisk_do_generowania_panelu_uczniowie = new wxButton(tlo, 3, _T("Uczniowie"), wxPoint(60, 140), wxSize(100, 50));
}
okno_ksiazki::okno_ksiazki(const wxString &title, const wxPoint & po, const wxSize &si, long style) :wxFrame(NULL, -1, title, po, si, style)
{
wxPanel *tlo_ksiazki = new wxPanel(this, 1, wxPoint(50, 50), wxSize(648, 486));
wxStaticLine *x = new wxStaticLine(tlo_ksiazki, 2, wxPoint(0, 243), wxSize(648, 1));
wxStaticLine *x1 = new wxStaticLine(tlo_ksiazki, 0, wxPoint(324, 125), wxSize(325, 1));
wxStaticLine *y = new wxStaticLine(tlo_ksiazki, 3, wxPoint(324, 0), wxSize(1, 560));
wxStaticLine *y1 = new wxStaticLine(tlo_ksiazki, 5, wxPoint(647, 0), wxSize(1, 560));
wxStaticText *Napis = new wxStaticText(tlo_ksiazki, 6, "Dodawanie ksiazki", wxPoint(95, 5), wxSize(100, 16));
wxStaticText *Napis4 = new wxStaticText(tlo_ksiazki, 6, "Konfiguracja:", wxPoint(440, 134), wxSize(80, 16));
pobieranie_czasu_systemowego = new wxCheckBox(tlo_ksiazki, 4, "Pobieranie daty z systemu", wxPoint(430, 180), wxSize(180, 50));
//Dane do dodawania książek
dodawanie_ksiazek[0] = new wxTextCtrl(tlo_ksiazki, 7, wxEmptyString, wxPoint(110, 45), wxSize(160, 20));
napisy_do_dodawania_ksiazek[0] = new wxStaticText(tlo_ksiazki, 8, "Podaj Tytul ksiazki: ", wxPoint(5, 46), wxSize(100, 16));
dodawanie_ksiazek[1] = new wxTextCtrl(tlo_ksiazki, 9, wxEmptyString, wxPoint(120, 80), wxSize(160, 20));
napisy_do_dodawania_ksiazek[1] = new wxStaticText(tlo_ksiazki, 10, "Podaj Autora ksiazki: ", wxPoint(5, 81), wxSize(115, 16));
dodawanie_ksiazek[2] = new wxTextCtrl(tlo_ksiazki, 11, wxEmptyString, wxPoint(150, 115), wxSize(160, 20));
napisy_do_dodawania_ksiazek[2] = new wxStaticText(tlo_ksiazki, 12, "Podaj Rok Wydania ksiazki: ", wxPoint(5, 116), wxSize(145, 16));
dodawanie_ksiazek[3] = new wxTextCtrl(tlo_ksiazki, 13, wxEmptyString, wxPoint(170, 150), wxSize(140, 20));
napisy_do_dodawania_ksiazek[3] = new wxStaticText(tlo_ksiazki, 14, "Podaj Nr inwentarzowy ksiazki: ", wxPoint(5, 151), wxSize(162, 16));
wxButton *Wykonaj = new wxButton(tlo_ksiazki, 15, "Wykonaj", wxPoint(105, 180), wxSize(100, 50));
//Koniec danych do dodawania książek
//Dane do wyporzyczania ksiazek
wyporzyczanie_ksiazek[0] = new wxTextCtrl(tlo_ksiazki, 16, wxEmptyString, wxPoint(110, 275), wxSize(160, 20));
napis_do_wyporzyczania_ksiazek[0] = new wxStaticText(tlo_ksiazki, 17, "Podaj Imie ucznia: ", wxPoint(5, 275), wxSize(96, 16));
wyporzyczanie_ksiazek[1] = new wxTextCtrl(tlo_ksiazki, 18, wxEmptyString, wxPoint(132, 308), wxSize(160, 20));
napis_do_wyporzyczania_ksiazek[1] = new wxStaticText(tlo_ksiazki, 19, "Podaj Nazwisko ucznia: ", wxPoint(5, 308), wxSize(123, 16));
wyporzyczanie_ksiazek[2] = new wxTextCtrl(tlo_ksiazki, 20, wxEmptyString, wxPoint(110, 341), wxSize(160, 20));
napis_do_wyporzyczania_ksiazek[2] = new wxStaticText(tlo_ksiazki, 21, "Podaj Klase ucznia: ", wxPoint(5, 341), wxSize(100, 16));
wyporzyczanie_ksiazek[3] = new wxTextCtrl(tlo_ksiazki, 22, wxEmptyString, wxPoint(110, 374), wxSize(160, 20));
napis_do_wyporzyczania_ksiazek[3] = new wxStaticText(tlo_ksiazki, 23, "Podaj Tytul ksiazki: ", wxPoint(5, 374), wxSize(100, 16));
wyporzyczanie_ksiazek[4] = new wxTextCtrl(tlo_ksiazki, 24, wxEmptyString, wxPoint(170, 407), wxSize(130, 20));
napis_do_wyporzyczania_ksiazek[4] = new wxStaticText(tlo_ksiazki, 25, "Podaj Nr inwentarzowy ksiazki: ", wxPoint(5, 407), wxSize(162, 16));
wyporzyczanie_ksiazek[5] = new wxTextCtrl(tlo_ksiazki, 26, wxEmptyString, wxPoint(190, 440), wxSize(100, 20));
napis_do_wyporzyczania_ksiazek[5] = new wxStaticText(tlo_ksiazki, 27, "Podaj Date wyporzyczenia ksiazki: ", wxPoint(5, 440), wxSize(180, 16));
wxButton *Wykonajv1 = new wxButton(tlo_ksiazki, 28, "Wykonaj", wxPoint(105, 473), wxSize(100, 50));
//Koniec do wyporzyczania ksiazek
//Dane do oddawania ksiazki
oddawanie_ksiazek[0] = new wxTextCtrl(tlo_ksiazki, 29, wxEmptyString, wxPoint(435, 275), wxSize(160, 20));
napis_do_oddawania_ksiazek[0] = new wxStaticText(tlo_ksiazki, 30, "Podaj Imie ucznia: ", wxPoint(335, 275), wxSize(96, 16));
oddawanie_ksiazek[1] = new wxTextCtrl(tlo_ksiazki, 31, wxEmptyString, wxPoint(461, 308), wxSize(160, 20));
napis_do_oddawania_ksiazek[1] = new wxStaticText(tlo_ksiazki, 32, "Podaj Nazwisko ucznia: ", wxPoint(335, 308), wxSize(123, 16));
oddawanie_ksiazek[2] = new wxTextCtrl(tlo_ksiazki, 33, wxEmptyString, wxPoint(438, 341), wxSize(160, 20));
napis_do_oddawania_ksiazek[2] = new wxStaticText(tlo_ksiazki, 34, "Podaj Klase ucznia: ", wxPoint(335, 341), wxSize(100, 16));
oddawanie_ksiazek[3] = new wxTextCtrl(tlo_ksiazki, 35, wxEmptyString, wxPoint(438, 374), wxSize(160, 20));
napis_do_oddawania_ksiazek[3] = new wxStaticText(tlo_ksiazki, 36, "Podaj Tytul ksiazki: ", wxPoint(335, 374), wxSize(100, 16));
oddawanie_ksiazek[4] = new wxTextCtrl(tlo_ksiazki, 37, wxEmptyString, wxPoint(500, 407), wxSize(100, 20));
napis_do_oddawania_ksiazek[4] = new wxStaticText(tlo_ksiazki, 38, "Podaj Nr inwentarzowy ksiazki: ", wxPoint(335, 407), wxSize(162, 16));
oddawanie_ksiazek[5] = new wxTextCtrl(tlo_ksiazki, 39, wxEmptyString, wxPoint(485, 440), wxSize(100, 20));
napis_do_oddawania_ksiazek[5] = new wxStaticText(tlo_ksiazki, 40, "Podaj Date oddania ksiazki: ", wxPoint(335, 440), wxSize(150, 16));
wxButton *Wykonajv2 = new wxButton(tlo_ksiazki, 41, "Wykonaj", wxPoint(435, 473), wxSize(100, 50));
//Koniec do oddawania ksiazki
//Dane do usuwania ksiazki
wxTextCtrl *usuwanie_ksiazki = new wxTextCtrl(tlo_ksiazki, 46, wxEmptyString, wxPoint(492, 33), wxSize(100, 20));
wxStaticText *napis_do_usuwania_ksiazki = new wxStaticText(tlo_ksiazki, 47, "Podaj id ksiazki do usuniecia:", wxPoint(335, 33), wxSize(155, 16));
//Koniec do usuwania ksiazki
wxStaticText *Napis1 = new wxStaticText(tlo_ksiazki, 42, "Usuwanie ksiazki", wxPoint(440, 5), wxSize(100, 16));
wxButton *Wykonajv3 = new wxButton(tlo_ksiazki, 43, "Wykonaj", wxPoint(435, 70), wxSize(100, 50));
wxStaticText *Napis2 = new wxStaticText(tlo_ksiazki, 44, "Wyporzyczanie ksiazki", wxPoint(95, 250), wxSize(120, 16));
wxStaticText *Napis3 = new wxStaticText(tlo_ksiazki, 45, "Odawanie ksiazki", wxPoint(440, 250), wxSize(100, 16));
wyswietlacz = new wxListCtrl(tlo_ksiazki, 48, wxPoint(660, 10), wxSize(398, 510), wxHSCROLL | wxLC_REPORT | wxLC_VRULES | wxLC_HRULES, wxDefaultValidator, _("wyswietlacz"));
wyswietlacz->InsertColumn(0, _("Id"), wxLIST_FORMAT_LEFT, 30);
wyswietlacz->InsertColumn(1, _("Tytul"), wxLIST_FORMAT_LEFT, 40);
wyswietlacz->InsertColumn(2, _("Autor"), wxLIST_FORMAT_LEFT, 45);
wyswietlacz->InsertColumn(3, _("Rok Wydania"), wxLIST_FORMAT_LEFT, 90);
wyswietlacz->InsertColumn(4, _("Nr Inwentarzowy"), wxLIST_FORMAT_LEFT, 103);
wyswietlacz->InsertColumn(5, _("Jest"), wxLIST_FORMAT_LEFT, 35);
wyswietlacz->InsertItem(0, "Test"); //do skasowania
wyswietlacz->SetItem(0, 1, "Test");
}
okno_uczniowie::okno_uczniowie(const wxString &title, const wxPoint & po, const wxSize &si, long style) :wxFrame(NULL, -1, title, po, si, style)
{
wxPanel*tlo_uczniowie = new wxPanel(this, 1, wxPoint(50, 50), wxSize(648, 486));
wxStaticLine *x = new wxStaticLine(tlo_uczniowie, 2, wxPoint(0, 243), wxSize(648, 1));
wxStaticLine *y = new wxStaticLine(tlo_uczniowie, 3, wxPoint(324, 0), wxSize(1, 486));
wxStaticLine *y1 = new wxStaticLine(tlo_uczniowie, 4, wxPoint(647, 0), wxSize(1, 486));
wxListCtrl *wyswietlacz = new wxListCtrl(tlo_uczniowie, 5, wxPoint(660, 10), wxSize(280, 440));
}
//koniec konstruktory
//definicja funkcji
void okno::generowanie_ksiazki(wxCommandEvent &event)
{
sqlite3_exec(user.db, "SELECT * from ksiazki",okno_ksiazki::callback, 0, NULL);
okno_ksiazki *frame_ksiazki = new okno_ksiazki(_T("Ksiazki"), wxPoint(50, 50), wxSize(1080, 570));
frame_ksiazki->Show(true);
}
void okno::generowanie_uczniowie(wxCommandEvent &event)
{
okno_uczniowie *frame_uczniowie = new okno_uczniowie(_T("Uczniowie"), wxPoint(50, 50), wxSize(960, 486));
frame_uczniowie->Show(true);
}
void okno_ksiazki::wykonanie_polecenie_sql_dodaj_ksiazke(wxCommandEvent &event)
{
wxMessageBox(wxT("Kod do napisania 1"));
}
void okno_ksiazki::wykonanie_polecenia_sql_wyporzycz_ksiazke(wxCommandEvent &event)
{
wxMessageBox(wxT("Kod do napisania 2"));
}
void okno_ksiazki::wykonanie_polecenia_sql_oddaj_ksiazke(wxCommandEvent &event)
{
wxMessageBox(wxT("Kod do napisania 3"));
}
void okno_ksiazki::czas_systemowy(wxCommandEvent &event)
{
if (pobieranie_czasu_systemowego->GetValue() == true)
{
wyporzyczanie_ksiazek[5]->Enable(false);
oddawanie_ksiazek[5]->Enable(false);
}
else
{
wyporzyczanie_ksiazek[5]->Enable(true);
oddawanie_ksiazek[5]->Enable(true);
}
}
void okno_ksiazki::wykonanie_polecenia_sql_ususwanie_ksiazki(wxCommandEvent &event)
{
wxMessageBox(wxT("Kod do napisania 4"));
}
//koniec definicji funkcji
IMPLEMENT_APP(menu);
bool menu::OnInit()
{
user.odp = sqlite3_open("bibloteka.db", &user.db);
if (user.odp)
{
wxMessageBox("Błąd z bazą danych");
}
else
{
user.zapytanie = "CREATE TABLE ksiazki ( \
id INTEGER PRIMARY KEY AUTOINCREMENT, \
Tytul TEXT,\
autor TEXT,\
rok_wydania DATE,\
nr_inwentor TEXT,\
Jest TEXT);";
sqlite3_exec(user.db,user.zapytanie.c_str(), NULL, NULL, NULL);
okno *frame = new okno(_T("Bibloteka"), wxPoint(50, 50), wxSize(240, 340));
frame->Show(true);
return true;
}
}
int okno_ksiazki::callback(void *NotUsed, int argc, char **argv, char **azColName)
{
return 0;
}