0 Members and 1 Guest are viewing this topic.
case AID_BOUTONFUELDISPLAY: if (my>22) { bFuelDisplayStatus=TRUE; } else { bFuelDisplayStatus=FALSE; } // on racfraichi bouton ET ecran oapiTriggerPanelRedrawArea (0, AID_TOPFUELDISPLAY); oapiTriggerPanelRedrawArea (0, AID_BOUTONTOPFUELDISPLAY); return true;
// --------------------------------------------------------------// Respond to panel mouse event// -------------------------------------------------------------- case AID_BOUTONTOPDISPLAY : if (my>22) { bTopDisplayStatus=TRUE; } else { bTopDisplayStatus=FALSE; } return SwitchTopDisplay(); return true;// --------------------------------------------------------------// Respond to panel redraw event dans Panel.cpp// -------------------------------------------------------------- case AID_BOUTONTOPDISPLAY : if (bTopDisplayStatus == TRUE) { oapiBlt (surf, srf[1], 0, 0, 301, 241, 30, 44); // bouton allume sur le bitmap } else { oapiBlt (surf, srf[1], 0, 0, 331, 241, 30, 44); // bouton eteint sur le bitmap } return true;// La même chose pour le Display concerné// --------------------------------------------------------------// Redessine bouton et display en cas de mouse event// --------------------------------------------------------------bool Irridium::SwitchTopDisplay () { oapiTriggerPanelRedrawArea (0, AID_TOPDISPLAY); oapiTriggerPanelRedrawArea (0, AID_BOUTONTOPDISPLAY); return true; }
int CalculDeuxPlusDeux(void){ int EffectueLeBoulot=2+2; return EffectueLeBoulot;}Resultat=CalculDeuxPlusDeux(); // resultat sera egal a 4 après cett ligne.
int CalculDeuxPlusDeux(void){ int EffectueLeBoulot=0; EffectueLeBoulot=2+2; if(EffectueLeBoulot==4) // oui c'est vrai { return EffectueLeBoulot; // sort immediatemment de la fonction et retourne le resultat } // ci dessous jamais executé on est deja sorti de la fonction avce le return plus haut EffectueLeBoulot+=16; return EffectueLeBoulot;}Resultat=CalculDeuxPlusDeux(); // resultat sera egal a 4 après cette ligne.
void CalculRien(void){ int EffectueLeBoulot=0; EffectueLeBoulot=2+2; if(EffectueLeBoulot==4) // oui c'est vrai { return; // sort immediatemment de la fonction ne retourne rien } // ci dessous jamais executé on est deja sorti de la fonction avce le return plus haut EffectueLeBoulot+=16; return; Inutile ici de toute facon on est a la fin de la fonction}// erreur de compile, la fonction ne retourne rienResultat=CalculRien();
in clbkClavier(int Touche){ if(Touche=="P") { // c'est pour nous la touche P TraiteToucheP(); return 1; // si c'était la touche P on sort tout de suite de la fonction. } // cétait un autre touche pas pour nous return 0 a l'appellant (en l'occurence Orbiter) return 0;}
[glow=yellow,2,300]void[/glow] Irridium::SwitchTopDisplay (){ oapiTriggerPanelRedrawArea (0, AID_TOPDISPLAY); oapiTriggerPanelRedrawArea (0, AID_BOUTONTOPDISPLAY); [glow=yellow,2,300]// pas besoin de return ici ca ferait meme un erreur de compile de le mettre[/glow]}
case AID_BOUTONTOPDISPLAY : if (my>22) { bTopDisplayStatus=TRUE; } else { bTopDisplayStatus=FALSE; } SwitchTopDisplay(); return true;
return SwitchTopDisplay(); // sort de la fonction return true; // jamais executée
picto a écrit:Bon maintenant, moi j'avais traduit par "est ce que la zone a été tripotée " oui non ... donc gros doute sur les cases ou ça return false alors que ça teste un tripotage.
in clbkClavier(int Touche){ if(Touche=="P") { // c'est pour nous la touche P TraiteToucheP(); return 1; // si c'était la touche P on sort tout de suite de la fonction. } // ce serait idiot de faire ces tests on sait déjà que c'est la touche "P" if(Touche=="M") { TraiteToucheM(); return 1; // si c'était la touche M on sort tout de suite de la fonction. } if(Touche=="Z") { TraiteToucheZ(); return 1; // si c'était la touche Z on sort tout de suite de la fonction. } return 0;}
case AID_HUDMODE: if (event & PANEL_MOUSE_LBDOWN) return DecHudMode(); if (event & PANEL_MOUSE_RBDOWN) return IncHudMode(); return false;bool Irridium::DecHudMode (){ int hudmode = oapiGetHUDMode(); if (hudmode) { oapiSetHUDMode (hudmode-1); return true; } else return false;}
if (event & PANEL_MOUSE_LBDOWN) return DecAttMode();
Return value:The function should return true if it processes the event, false otherwise.
if(DecAttMode()==TRUE){ PlayVesselWave("ModeChangeOK");}
case AID_ATTITUDEMODE: if (event & PANEL_MOUSE_LBDOWN) DecAttMode(); if (event & PANEL_MOUSE_RBDOWN) IncAttMode(); return true; // on la intercepté ce case ? ben oui !
case AID_ATTITUDEMODE: if (event & PANEL_MOUSE_LBDOWN) { if(DecAttMode()==TRUE) { PlayVesselWave("ModeChange.wav"); } } if (event & PANEL_MOUSE_RBDOWN) { if(IncAttMode()==TRUE) { PlayVesselWave("ModeChange.wav"); } } return true; // on la intercepté ce case ? ben oui !
case AID_ATTITUDEMODE: if (event & PANEL_MOUSE_LBDOWN) return DecAttMode(); if (event & PANEL_MOUSE_RBDOWN) return IncAttMode(); return false;bool DeltaGlider::DecAttMode (){ int mode = GetAttitudeMode(); if (mode) { SetAttitudeMode (mode-1); return true; } else return false;}
bool ShuttleA::RedrawPanel_Throttle (SURFHANDLE surf){ UINT i, pos; bool redraw = false; for (i = 0; i < 2; i++) { double level = GetThrusterLevel (th_main[i]); pos = (UINT)((1.0-level)*180.0); if (pos != sliderpos_main[i]) sliderpos_main[i] = pos, redraw = true; } if (redraw){ "for (i = 0; i < 2; i++)" "oapiBlt (surf, srf[0], i*30, sliderpos_main[i], 0, 0, 23, 19);" } return redraw;}}
bool DeltaGlider::RedrawPanel_Throttle (SURFHANDLE surf){ UINT i, pos; bool redraw = false; for (i = 0; i < 2; i++) { double level = GetThrusterLevel (th_main[i]); if (level > 0) pos = (UINT)((1.0-level)*108.0); else { level = GetThrusterLevel (th_retro[i]); if (level > 0) pos = 125+(UINT)(level*32.0); else pos = 116; } if (pos != engsliderpos[i]) engsliderpos[i] = pos, redraw = true; } if (redraw) { "oapiBltPanelAreaBackground (AID_ENGINEMAIN, surf);" "for (i = 0; i < 2; i++)" "oapiBlt (surf, srf[4], i*26, engsliderpos[i], 0, 0, 23, 18 );" } return redraw;}
/////////////////////////////////////////////////////////////////////////////////// RedrawPanel_Throttle/////////////////////////////////////////////////////////////////////////////////bool DeltaGlider::RedrawPanel_Throttle (SURFHANDLE surf){ UINT i, pos; bool redraw = false; for (i = 0; i < 2; i++) { double level = GetThrusterLevel (th_main[i]); if (level > 0) pos = (UINT)((1.0-level)*108.0); else { level = GetThrusterLevel (th_retro[i]); if (level > 0) pos = 125+(UINT)(level*32.0); else pos = 116; } if (pos != engsliderpos[i]) engsliderpos[i] = pos, redraw = true; } if (redraw) { oapiBltPanelAreaBackground (AID_ENGINEMAIN, surf); for (i = 0; i < 2; i++) oapiBlt (surf, srf[4], i*26, engsliderpos[i], 0, 0, 23, 18 ); } return redraw;}
1> La conversion d'un type intégral en type pointeur nécessite reinterpret_cast, un cast de style C ou un cast destyle fonction1>.\DeltaGliderEX.cpp(1340) : error C2664: 'TextOutW' : impossible de convertir le paramètre 4 de 'const char [2]' en'LPCWSTR'
Schimz wrote:C'est réglé sur Unicode. J'ai essayé des DrawText à la place des TextOut, c'est pareil.Edit : J'ai fait nouveau projet/bibliothèque de classe et j'ai importé mes sources et ressources.
#ifdef UNICODE#define TextOut TextOutW#else#define TextOut TextOutA#endif // !UNICODE