#ifndef __CONTROLS_H #define __CONTROLS_H #ifndef __STRINGS_H #include #endif WINDOW xvt_create_checkbox( short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, int id); WINDOW xvt_create_radiobutton( short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, int id); WINDOW xvt_create_pushbutton( short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, int id); WINDOW xvt_create_text( short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, int id); WINDOW xvt_create_groupbox( short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, int id); void free_controls_bmp(); /////////////////////////////////////////////////////////// // Custom control /////////////////////////////////////////////////////////// // @doc INTERNAL // @class TControl | Classe per la creazione di controlli personalizzati class TControl // @author:(INTERNAL) Guido // @access:(INTERNAL) Private Member { // @cmember:(INTERNAL) Handle del controllo creato WINDOW _win; // @cmember:(INTERNAL) Iedntificatore assegnato al cotrollo short _id; // @cmember:(INTERNAL) Prompt del controllo TString _caption; // @cmember:(INTERNAL) Colore di foreground del controllo COLOR _color; // @cmember:(INTERNAL) Colore di background del controllo COLOR _backcolor; // @cmember:(INTERNAL) Indica se il controllo e' disabilitato bool _disabled : 1; // @cmember:(INTERNAL) Indica se il controllo ha un check bool _checked : 1; // @cmember:(INTERNAL) Indica se il controllo ha il focus bool _focused : 1; // @cmember:(INTERNAL) Indica varie cose a seconda del tipo di controllo she si sta utilizzando bool _multiple : 1; // @access Protected Member protected: // @cmember E' l'handler del controllo static long XVT_CALLCONV1 handler(WINDOW win, EVENT* ep); // @cmember Crea il controllo void create(short left, short top, short right, short bottom, const char* caption, WINDOW parent, long flags, long app_data, short id); // @cmember Ridisegna il controllo a video virtual void update() const pure; // @cmember Chiamate ogni volta che viene premuto il mouse sul controllo virtual void mouse_down(PNT) {}; // @cmember Chiamate ogni volta che viene rialsciato il mouse sul controllo virtual void mouse_up() {}; // @cmember Ritorna il tipo di finestra su cui si trova il controllo virtual WIN_TYPE type() const { return W_NO_BORDER; } // @access Public Member public: // @cmember Ritorna il TControl dalla finestra del controllo static TControl* WINDOW2TControl(WINDOW win); // @cmember Distruttore. Necessariamente virtuale per derivare altri distruttori virtual ~TControl(); // @cmember Ritorna l'handle del controllo WINDOW win() const { return _win; } // @cmember Ritorna l'identificatore assegnato al controllo short id() const { return _id; } // @cmember Ritorna il prompt del controllo const char* caption() const { return _caption; } // @cmember Setta il prompt del controllo void set_caption(const char* c); // @cmember Ritorna il colore di forground del controllo COLOR color() const { return _color; } // @cmember Setta il colore di forground del controllo void set_color(COLOR c) { _color = c; } // @cmember Ritorna il colore di background del controllo COLOR back_color() const { return _backcolor; } // @cmember Setta il colore di background del controllo void set_back_color(COLOR c) { _backcolor = c; } // @cmember Ritorna se il controllo possiede un check bool checked() const { return _checked; } // @cmember Setta se il controllo debba avere un check virtual void check(bool on); // @cmember Ritorna se il controllo e' disabilitato bool disabled() const { return _disabled; } // @cmember Abilita/disabilita il controllo void enable(bool on); // @cmember Ritorna se il controllo ha il focus bool focused() const { return _focused; } // @cmember Setta il focus sul cursore (stessa sintassi di ) void focus(bool on) { _focused = on; } // @cmember Ritorna il contenuto della variabile bool multiple() const { return _multiple; } }; #endif