C++ nastavení hodnoty ve třídě
Už opravdu nevím.
Možná nějaká blbost jinak nechápu.
Uvažujme třídu showFull
ta je odvozena od wxDialog
class showFull : public wxDialog
{
private:
DECLARE_EVENT_TABLE();
public:
int i_sirkaOkna; // o tuto proměnnou se mi jedná
int i_vyskaOkna; // -||-
...
...
}
Nyní jsem v jiné funkci, jiné třídy (možná to nenazývám úplně správně).
Zjednodušeně - v této funkci se bude volat dialog, který bude vytvořen z rodičovského okna (framu).
A já potřebuji v tom rodičovském okně, které dialog vytváří změnit parametry (konkrétně velikost) toho dialogu co se následně zobrazí:
void hlavniOkno::StartSlideShow(wxCommandEvent& event)
{
if(currentFile.FileExists()) // tohohle si nevšímejte
{
showFull dlg(this); // odvození okno od ....
dlg.i_sirkaOkna = 1270; // Takhle nastavím safra sirku !!!!
dlg.i_vyskaOkna = 980; // Takhle nastavím safra vysku !!!!
dlg.ShowModal(); // Tohle ten dialog pouze zobrazí
Problém je ovšem v tom, že překladač nehází žádnou chybu ani podobně,
ale když si uvnitř dialogu nechám vypsat hodnoty i_sirkaOkna a i_vyskaOkna :
wxMessageBox(wxT(wxString::Format("%d",i_sirkaOkna)));
// výsledek:
2292416
wxMessageBox(wxT(wxString::Format("%d",i_vyskaOkna)));
// výsledek
13761136
Jednoduchá otázka:
Jsem hňup já nebo Widgets a proč ?!