Catch-22
-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Posty napisane przez Catch-22
-
-
Witam
Chcialbym aby program reagowal na nacisniecie lewego przycisku myszy.Napisalem cos takiego
//w pliku .h
void __fastcall OnRButtonDown(TMessage &Msg);
protected:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_RBUTTONDOWN, TMessage, OnRButtonDown)
END_MESSAGE_MAP(TZwrotnica)
//w pliku .cpp
void __fastcall TZwrotnica::OnRButtonDown(TMessage &Msg)
{
if (Msg.LParam==WM_RBUTTONDOWN)
{
Zwrotnica->Close();
}
Program sie kompiluje i kiedy ma sie juz uruchomic wyswietla jakis komunikat o przepelnieniu stosu. O co chodzi? Czy cos jest tu żle? -
Czesc
Czy ktos wiem jaki moze byc powod zwracania przez SetTimer wartosci 0.
Wszystko wydaje sie byc dobrze wpisane i nawet sie kompiluje.
Co wpisac do funkcji SetTimer jako uchwyt okna? Czy jest to nazwa mojego okno na gorze w pasku czy klasa okna ( class TOknoGl: public TForm - w tym pryzpadku 'OknoGl' ).Pozdrawiam
-
Witam
To znowu ja i kolejny moj problem a mianowicei:
Mam w oknie glownym 7 zwrotnic. Po nacisnieciu na kazda z nich pojawia mi sie okno Zwrotnica (ShowModal) z dostepnymi funkcjami np. plus, minus, utwierdzenie, rozprucie itd.
Problem polega na zapamietaniu odpowienich ustawien dla kazdej zwrotnicy z osobna. Wiem ze Visual C++ wyglada to jakos tak:
void COsahDlg::On7()
{if(dyzur==1)
{
theApp.wynik=13;
theApp.numer_zw = 6;
ZwrotniceDlg dlgZwrotnica7; \
int res = dlgZwrotnica7.DoModal(); / to chyba jest najwazniejsze
switch (theApp.wynik)
Dzieki z gory i pozdrawiam -
Witam
//Do wlaczenia timera sluzy chyba funkcja SetTimer. wpisuje do kodu wiec:SetTimer(OknoGl,1,1000,NULL);
//Druda wartosc to nIDEvent czyli 1 ?
//Umiescilem rowniez cos takiego (plik cpp)
//------------
void __fastcall TOknoGl::OnTimer(UINT nIDEvent)
{ if (nIDEvent==1)
{
Okienko->Close();
KillTimer(1);
}
//----------------------
//Czy oznacza to ze program po wlaczeniu Timera 1, po ulywie 1
//sekundy zamknie okno Okienko?Czy tak powinno byc?
//Chcialbym aby tak bylo.
//Dodalem rowniez w (pliku .h)
void __fastcall OnTimer(UINT nIDEvent);//Wszystko kompiluje sie bez zadnych bledow. Czy trzeba jeszcze cos dodac lub zadeklarowac.
Dzieki. Pozdrawiam. -
Witam
Widzialem powyzej odpowiedz do tego ale nic nie udalo mi sie wykombinowac. Czy jest mozliwosc bardziej lopatologicznego wytlumaczenia tego. Moze na jakims przykladzie. Z gory dzieki
kod
w C
Napisano
No wiec doszedlem do czegos takiego:
Timer wlaczam tak-> SetTimer(OknoGl,1,1000,NULL).
Stworzylem funkcje ktora wylacza mi timer o okreslonym identyfikatorze
void __fastcall TOknoGl::OnTimer(UINT nIDEvent)
{
if (nIDEvent==1)
{cos tam...
KillTimer(OknoGl,1);
}
//w pliku .h dodalem w sekcji protected:
protected:
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_TIMER, UINT, OnTimer)
END_MESSAGE_MAP(TOknoGl)
Program sie kompiluje i kiedy ma sie juz uruchomic wyskakuje jakis blad o przepelnieniu stosu.Analogiczny problem jest tez w moim temacie
BEGIN_MESSAGE_MAP ... jak ma być Jezeli moglbys tez zajrzec.
Cos chyba jest nie tak z odbieraniem tych komunikatow przez system.Mam WinME - czy to ma jakies znaczenie?
Rowniez pozdrawiam