Patch level : 10.0

Files correlati     : ba0.exe ba0200a.msk
Ricompilazione Demo : [ ]
Commento            :

0000914: cambio stile
il cambio stile chiude tutte le applicazione eventualmente aperte e riporta al menu principale.
Se si effettua da un sottomenu riporta al menu principale.

0000915: stili
qualsiasi sia lo stile adottato sulla mappa dell'aspetto viene sempre visualizzato campo.

0000828: info
Nella versione outlook non esiste la possibilità di cercare un punto di menu digitando il nome?


git-svn-id: svn://10.65.10.50/trunk@17320 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2008-09-29 14:34:21 +00:00
parent 30776a4132
commit 2ff6ecb98e
7 changed files with 332 additions and 181 deletions

View File

@ -25,7 +25,6 @@
#include "ba0400a.h"
#define MEN_FILE "bamenu.men"
#define OPTIONS_MENU M_FONT
#define PREFERRED_MENU M_STYLE
#define DLG_TREE 301
@ -50,6 +49,7 @@ protected: // TApplication
virtual bool destroy();
virtual bool menu(MENU_TAG m);
virtual long handler(WINDOW win, EVENT* ep);
virtual bool firm_change_enabled() const;
virtual void on_firm_change();
virtual bool test_assistance_year() const;
@ -295,6 +295,7 @@ class TColor_mask : public TAutomask
public:
TPreview_panel(short x, short y, short dx, short dy, TColor_mask* owner);
} *_preview;
class TPreview_icons : public TWindow
{
TColor_mask* _owner;
@ -304,7 +305,9 @@ class TColor_mask : public TAutomask
TPreview_icons(short x, short y, short dx, short dy, TColor_mask* owner);
} *_icons;
int _cur_theme;
TAssoc_array _color;
TString256 _font_desc;
protected: // TMask
virtual bool stop_run(KEY key) { return TWindow::stop_run(key); }
@ -313,19 +316,19 @@ protected: // TMask
protected:
COLOR get_color_entry(const char* c) const;
void set_color_entry(const char* name, COLOR col);
const TString& get_font_desc() const { return _font_desc; }
const char* cid2name(short cid) const;
COLOR cid2color(short cid) const;
COLOR cid2syscolor(short cid, const XVT_COLOR_COMPONENT* cc) const;
void load_themes();
bool apply_theme();
void save_colors(TConfig& colors);
public:
void save_colors();
virtual KEY run();
TColor_mask();
virtual ~TColor_mask() { }
};
COLOR TColor_mask::TPreview_panel::get_color_entry(const char* name) const
@ -355,6 +358,17 @@ void TColor_mask::TPreview_panel::update()
line(x+1, y+h-1, x+w-2, y+h-1);
line(x+w-2, y+h-1, x+w-2, y);
const TString& font_desc = _owner->get_font_desc();
if (font_desc.full())
{
XVT_FNTID fontid = xvt_font_create();
xvt_font_deserialize(fontid, font_desc);
xvt_dwin_set_font(win(), fontid);
xvt_font_destroy(fontid);
}
else
xvt_dwin_set_font(win(), xvt_default_font());
set_opaque_text(false);
set_pen(p = get_color_entry("Normal"));
set_brush(b = get_color_entry("NormalBack"));
@ -409,23 +423,47 @@ TColor_mask::TPreview_icons::TPreview_icons(short x, short y, short dx, short dy
void TColor_mask::load_themes()
{
TList_field& fl = lfield(211);
TToken_string codes = fl.get_codes();
int k = codes.items();
if (k <= 2)
TToken_string values = fl.get_values();
const int default_items = 3; // Corrente, Campo, Sistema
// Elimina tutti gli elementi non standard (oltre il terzo)
if (codes.items() > default_items)
{
TConfig themes("res/themes.ini");
TString_array pl; themes.list_paragraphs(pl);
if (!pl.empty())
for (int i = 0; i < 2; i++)
{
TToken_string values = fl.get_values();
FOR_EACH_ARRAY_ROW(pl, i, row)
{
codes.add(k++);
values.add(*row);
}
fl.replace_items(codes, values);
TToken_string& str = i == 0 ? codes : values;
int pos = 0;
for (int j = 0; j < default_items; j++)
pos = str.find(str.separator(), pos);
str.cut(pos);
}
}
int k = codes.items();
TConfig default_themes("res/themes.ini");
TString_array pl;
default_themes.list_paragraphs(pl);
FOR_EACH_ARRAY_ROW(pl, i, row)
{
codes.add(k++);
values.add(row->left(15));
}
TConfig user_themes(CONFIG_GUI);
user_themes.list_paragraphs(pl);
FOR_EACH_ARRAY_ROW(pl, j, raw)
{
if (raw->starts_with("Theme_"))
{
codes.add(k++);
values.add(raw->mid(6, 15));
}
}
if (k > default_items)
fl.replace_items(codes, values);
}
bool TColor_mask::apply_theme()
@ -433,24 +471,37 @@ bool TColor_mask::apply_theme()
bool applied = false;
const int theme = get_int(211);
if (theme > 1)
if (theme > 2) // Normal theme
{
TList_field& fl = lfield(211);
TToken_string codes = fl.get_codes();
const TList_field& fl = lfield(211);
TToken_string values = fl.get_values();
const int pos = codes.get_pos(theme);
TConfig themes("res/themes.ini", values.get(pos));
TAssoc_array& colors = themes.list_variables();
TString name = values.get(theme);
TConfig def_themes("res/themes.ini", name);
TAssoc_array& def_colors = def_themes.list_variables();
name.insert("Theme_");
TConfig usr_themes(CONFIG_GUI, name);
TAssoc_array& usr_colors = usr_themes.list_variables();
TAssoc_array& colors = usr_colors.empty() ? def_colors : usr_colors;
if (!colors.empty())
{
TToken_string rgb(15, ',');
FOR_EACH_ASSOC_STRING(colors, obj, key, value)
{
rgb = value;
const byte r = (byte)rgb.get_int(0);
const byte g = (byte)rgb.get_int();
const byte b = (byte)rgb.get_int();
set_color_entry(key, XVT_MAKE_COLOR(r,g,b));
if (rgb.items() == 3) // Trattasi di colore
{
const byte r = (byte)rgb.get_int(0);
const byte g = (byte)rgb.get_int();
const byte b = (byte)rgb.get_int();
set_color_entry(key, XVT_MAKE_COLOR(r,g,b));
} else
if (xvt_str_compare_ignoring_case(key, "FontDesc") == 0)
{
_font_desc = value;
}
}
applied = true;
}
@ -460,7 +511,19 @@ bool TColor_mask::apply_theme()
{
switch (theme)
{
case 1: // System colors
case 1: // Campo default colors
{
for (short bid = 101; bid <= 113; bid++)
{
const char* name = cid2name(bid);
const COLOR color = cid2color(bid);
set_color_entry(name, color);
}
_font_desc.cut(0);
applied = true;
}
break;
case 2: // System colors
{
XVT_COLOR_COMPONENT* cc = (XVT_COLOR_COMPONENT*)xvt_vobj_get_attr(NULL_WIN, ATTR_APP_CTL_COLORS);
for (short bid = 101; bid <= 113; bid++)
@ -470,28 +533,29 @@ bool TColor_mask::apply_theme()
set_color_entry(name, color);
}
xvt_mem_free((DATA_PTR)cc);
XVT_FNTID fontid = xvt_res_get_font(0);
xvt_font_serialize(fontid, _font_desc.get_buffer(), _font_desc.size());
xvt_font_destroy(fontid);
set(214, "X"); // System buttons
applied = true;
}
break;
default: // Default colors
default: // User defined settings
{
for (short bid = 101; bid <= 113; bid++)
{
const char* name = cid2name(bid);
const COLOR color = cid2color(bid);
set_color_entry(name, color);
}
TConfig font(CONFIG_GUI, "Font");
font.set("FontDesc", ""); // Azzera font e lo ricarica alla prossima
xvt_load_default_font();
applied = true;
TConfig color(CONFIG_GUI, "Colors");
_color = color.list_variables();
xvt_font_serialize(xvt_default_font(), _font_desc.get_buffer(), _font_desc.size());
}
break;
}
}
if (applied)
{
_preview->force_update();
_cur_theme = theme;
}
return applied;
}
@ -506,45 +570,107 @@ bool TColor_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
case 211:
if (e == fe_init)
load_themes();
break;
case 212:
if (e == fe_button)
apply_theme();
if (e == fe_modify && is_running())
{
const int new_theme = atoi(f.get());
if (new_theme != _cur_theme)
apply_theme();
}
break;
case 217:
if (e == fe_init || e == fe_modify)
_icons->force_update();
break;
case DLG_OK:
if (e == fe_button)
{
stop_run(K_CTRL+'R');
return false;
}
break;
case DLG_SAVEREC:
if (e == fe_button)
{
stop_run(K_ENTER);
return false;
}
break;
case DLG_NEWREC:
if (e == fe_button)
{
TString name = user();
xvt_dm_post_string_prompt(TR("Nome del tema"), name.get_buffer(), 16);
if (name.full())
{
name.trim();
name.upper();
name.insert("Theme_");
{
TConfig ini(CONFIG_GUI, name);
save_colors(ini);
}
load_themes();
}
return false;
}
break;
case DLG_DELREC:
if (e == fe_button)
{
TList_field& themes = lfield(211);
const int pos = atoi(themes.get());
bool can_delete = pos > 2;
if (can_delete) // Tema non standard
{
TToken_string values = themes.get_values();
TString name = values.get(pos);
bool done = yesno_box(FR("Confermare la cancellazione del tema %s"), name.get_buffer());
if (done)
{
name.insert("Theme_");
TConfig ini(CONFIG_GUI, name);
if (ini.new_paragraph())
done = can_delete = false;
else
ini.remove_all();
}
if (done)
load_themes();
}
if (!can_delete)
error_box(TR("Tema non cancellabile"));
return false;
}
break;
case DLG_USER:
if (e == fe_button)
{
XVT_FNTID fontid = xvt_default_font();
if (xvt_dm_post_font_sel(TASK_WIN, fontid, NULL, 0))
XVT_FNTID fontid = xvt_font_create();
if (_font_desc.full())
xvt_font_deserialize(fontid, _font_desc);
else
xvt_font_copy(fontid, xvt_default_font(), XVT_FA_ALL);
if (xvt_dm_post_font_sel(win(), fontid, NULL, 0))
{
char font_ser_desc[256];
TConfig font(CONFIG_GUI, "Font");
xvt_font_serialize(fontid, font_ser_desc, sizeof(font_ser_desc));
font.set("FontDesc", font_ser_desc);
font.set_paragraph("Colors"); // Forza la scrittura del paragrafo
xvt_load_default_font();
force_update();
xvt_font_serialize(fontid, _font_desc.get_buffer(), _font_desc.size());
_preview->force_update();
}
xvt_font_destroy(fontid);
return false;
}
break;
default:
if (id >= 101 && id <= 113 && e == fe_button)
if (e == fe_button && id >= 101 && id <= 113)
{
TColor_mask& m = (TColor_mask&)f.mask();
const char* name = m.cid2name(f.dlg());
COLOR col = m.get_color_entry(name);
col = choose_color(col, m.win());
ok = col != COLOR_INVALID;
if (ok)
const char* name = cid2name(f.dlg());
COLOR col = get_color_entry(name);
col = choose_color(col, win());
if (col != COLOR_INVALID)
{
m.set_color_entry(name, col);
m.stop_run(K_CTRL + 'R');
set_color_entry(name, col);
_preview->force_update();
}
return false;
}
break;
}
@ -552,7 +678,7 @@ bool TColor_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
}
TColor_mask::TColor_mask()
: TAutomask("ba0200a")
: TAutomask("ba0200a"), _cur_theme(0)
{
TConfig color(CONFIG_GUI, "Colors");
_color = color.list_variables();
@ -561,7 +687,7 @@ TColor_mask::TColor_mask()
set(215, ADVANCED_GRAPHICS ? "X" : "");
set(216, color.get_int("TreeView"));
_preview = new TPreview_panel(1, 8, 33, 8, this);
_preview = new TPreview_panel(1, 7, 33, 8, this);
_icons = new TPreview_icons(1, 10, -2, -2, this);
const int sz = color.get_int("ToolSize");
@ -569,19 +695,12 @@ TColor_mask::TColor_mask()
set(218, EASY_RIDER ? "X" : "");
set(219, TOOL_TEXT ? "X" : "");
xvt_font_serialize(xvt_default_font(), _font_desc.get_buffer(), _font_desc.size());
}
KEY TColor_mask::run()
void TColor_mask::save_colors(TConfig& colors)
{
KEY k = K_CTRL + 'R';
while (k == K_CTRL + 'R')
k = TMask::run();
return k;
}
void TColor_mask::save_colors()
{
TConfig colors(CONFIG_GUI, "Colors");
FOR_EACH_ASSOC_STRING(_color, obj, key, str)
colors.set(key, str);
@ -593,6 +712,17 @@ void TColor_mask::save_colors()
colors.set("ToolSize", 16+sz*8);
colors.set("EasyRider", get_bool(218) ? "X" : "");
colors.set("ToolText", get_bool(219) ? "X" : "");
if (colors.get_paragraph() == "Colors") // nel caso di default CONFIG_GUI
colors.set("FontDesc", _font_desc, "Font"); // per tradizione e' nel paragrafo Font
else
colors.set("FontDesc", _font_desc); // il font e' insieme al resto
}
void TColor_mask::save_colors()
{
TConfig colors(CONFIG_GUI, "Colors");
save_colors(colors);
}
COLOR TColor_mask::get_color_entry(const char* name) const
@ -690,23 +820,19 @@ bool TMenu_application::menu_item_handler(TMask_field&f, KEY k)
bool TMenu_application::menu_find_handler(TMask_field&f, KEY k)
{
if (k == K_TAB && f.focusdirty())
if (k == K_TAB && f.focusdirty() && !f.empty())
{
const TString& v = f.get();
if (v.not_empty())
{
TPicture_mask& m = (TPicture_mask&)f.mask();
if (app()._menu.find_string(v))
{
f.set_focusdirty(false);
return m.stop_run(K_F9);
}
else
{
beep();
return false;
}
}
if (app()._menu.find_string(v))
{
f.set_focusdirty(false);
return f.mask().stop_run(K_F9);
}
else
{
beep();
return false;
}
}
return true;
}
@ -835,9 +961,7 @@ bool TMenu_application::ask_user_password(TString& utente)
bool ok = false;
// Disabilita le voci di personalizzazione
int mi;
for (mi = 2; mi <= 7; mi++)
disable_menu_item(MENU_ITEM(mi));
enable_options_menu(false);
TMask m("ba0100a");
@ -942,8 +1066,7 @@ bool TMenu_application::ask_user_password(TString& utente)
}
// Abilita le voci di personalizzazione
for (mi = 2; mi <= 7; mi++)
enable_menu_item(MENU_ITEM(mi));
enable_options_menu(true);
return ok;
}
@ -1318,30 +1441,46 @@ void TMenu_application::main_loop()
}
}
void enable_options_menu(bool on)
{
const WINDOW tw = TASK_WIN;
xvt_menu_set_item_enabled(tw, M_FILE_NEW, on); // Cambio ditta
xvt_menu_set_item_enabled(tw, M_FILE_PG_SETUP, on); // Imposta Stampante
for (int i = 2; i <= 7; i++) // Menu opzioni
xvt_menu_set_item_enabled(tw, MENU_ITEM(i), on);
xvt_menu_update(tw);
}
bool TMenu_application::choose_colors()
{
disable_menu_item(OPTIONS_MENU);
TColor_mask* cm = new TColor_mask();
const bool ok = cm->run() == K_ENTER;
if (ok)
enable_options_menu(false);
bool update_needed = false;
KEY key = K_CTRL+'R';
while (key == K_CTRL+'R')
{
_tree_view = cm->get_int(216); // Aggiorna stile menu
cm->save_colors(); // Aggiorna config
customize_colors(); // Aggiorna set di colori
reload_images(); // Aggiorna bitmaps del menu
// Ridisegna sfondo
TTemp_window tw(TASK_WIN);
tw.force_update();
// Provoca chiusura forzata del menu
if (_mask != NULL)
_mask->stop_run(K_CTRL + 'R');
TColor_mask cm;
key = cm.run();
if (key == K_ENTER || key == K_CTRL+'R') // Salva o Applica
{
_tree_view = cm.get_int(216); // Aggiorna stile menu
cm.save_colors(); // Aggiorna config
customize_colors(); // Aggiorna set di colori
reload_images(); // Aggiorna bitmaps del menu
// Ridisegna sfondo
TTemp_window tw(TASK_WIN);
tw.force_update();
update_needed = true;
}
}
delete cm;
enable_menu_item(OPTIONS_MENU);
return ok;
// Provoca chiusura forzata del menu
if (update_needed && _mask != NULL)
_mask->stop_run(K_CTRL + 'R');
enable_options_menu(true);
return key == K_ENTER;
}
HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
@ -1350,23 +1489,15 @@ HIDDEN bool browse_file_handler(TMask_field& f, KEY k)
if (k == K_F9)
{
FILE_SPEC fs; memset(&fs, 0, sizeof(FILE_SPEC));
xvt_fsys_convert_str_to_dir(".", &fs.dir);
#ifdef WIN32
strcpy(fs.type, "EXE");
#endif
strcpy(fs.name, f.get());
strcpy(fs.creator, "MENU");
DIRECTORY dir;
xvt_fsys_get_dir(&dir);
TFilename n = f.get(); n.ext("exe");
FILE_SPEC fs; xvt_fsys_convert_str_to_fspec(n, &fs);
//DIRECTORY dir; xvt_fsys_get_dir(&dir);
const int err = xvt_dm_post_file_open(&fs, TR("Selezione programma"));
xvt_fsys_set_dir(&dir);
//xvt_fsys_set_dir(&dir);
if (err == FL_OK)
{
TFilename n;
xvt_fsys_convert_dir_to_str(&fs.dir, n.get_buffer(), n.size());
n.add(fs.name);
xvt_fsys_convert_fspec_to_str(&fs, n.get_buffer(), n.size());
f.set(n);
}
}
@ -1402,7 +1533,7 @@ HIDDEN bool link_notify(TSheet_field& s, int r, KEY k)
bool TMenu_application::choose_editors()
{
disable_menu_item(OPTIONS_MENU);
enable_options_menu(false);
TConfig link(CONFIG_GUI, "Link");
@ -1443,7 +1574,7 @@ bool TMenu_application::choose_editors()
}
delete msk;
enable_menu_item(OPTIONS_MENU);
enable_options_menu(true);
return true;
}
@ -1505,9 +1636,7 @@ HIDDEN bool study_handler(TMask_field& f, KEY k)
bool TMenu_application::choose_study()
{
// Disbilita le voci di personalizzazione
int mi;
for (mi = 2; mi <= 7; mi++)
disable_menu_item(MENU_ITEM(mi));
enable_options_menu(false);
TMask m(TR("Scelta studio"), 1, 62, 4);
m.add_button(DLG_OK, 0, "", -12, -1, 10, 2);
@ -1533,8 +1662,7 @@ bool TMenu_application::choose_study()
}
// Abilita le voci di personalizzazione
for (mi = 2; mi <= 7; mi++)
enable_menu_item(MENU_ITEM(mi));
enable_options_menu(true);
return ok;
}
@ -1918,13 +2046,17 @@ int TMenu_application::do_outlook()
return key == K_QUIT ? -2 : 0;
}
bool TMenu_application::firm_change_enabled() const
{
return _mask != NULL; // Impedisci il cambio ditta durante il login
}
void TMenu_application::on_firm_change()
{
TConfig cfgs(CONFIG_STUDIO, "Main"); // Forza creazione STUDIO.INI copiandolo eventulamente da PRASSIS.INI
TConfig cfgd(CONFIG_DITTA, "ba"); // Forza creazione DITTA.INI copiandolo eventulamente da PRASSID.INI
}
bool TMenu_application::menu(MENU_TAG mt)
{
bool ok = true;

View File

@ -1,5 +1,6 @@
#include <applicat.h>
#include <dongle.h>
#include <execp.h>
#include <mask.h>
#include <modaut.h>
#include <nditte.h>
@ -632,7 +633,7 @@ TSubmenu* TMenu::find_string(const TString& str)
TSubmenu* TMenu::find_parent(const TSubmenu& sub)
{
restart();
TSubmenu* sm;
TSubmenu* sm = NULL;
for (sm = (TSubmenu*)get(); sm; sm = (TSubmenu*)get())
{
for (int i = sm->items()-1; i >= 0; i--)

View File

@ -49,18 +49,18 @@ HIDDEN bool find_string_callback(TTree& tree, void* jolly, word flags)
const TSubmenu& sm = mt.curr_submenu();
if (sm.disabled())
return FALSE;
return false;
TFind_string_data& data = *(TFind_string_data*)jolly;
if (data._ignore_list->is_key(sm.name()))
return FALSE;
return false;
TString desc; mt.get_description(desc);
desc.upper();
if (desc.find(data._str) >= 0 || desc.match(data._str))
return TRUE;
return true;
}
return FALSE;
return false;
}
HIDDEN bool find_node_callback(TTree& tree, void* jolly, word flags)

View File

@ -124,5 +124,6 @@ public:
void synchronize_tree_field(TTree_field& tf);
bool can_be_transparent(const TImage& i);
void draw_spider(WINDOW win, int mode, const PNT& mouse);
void enable_options_menu(bool on);
#endif

View File

@ -2,6 +2,8 @@
#include <config.h>
#include <defmask.h>
#include <diction.h>
#include <execp.h>
#include <prefix.h>
#include <xvtility.h>
@ -189,7 +191,8 @@ short TBook_window::add_page(const TString& caption)
xvt_vobj_get_client_rect(win(), &wd.rct);
_ctrl = xvt_ctl_create_def(&wd, win(), 0L);
// Blocca le dimensioni del pannello (Non va micca!)
xvt_pane_set_size_range(win(), wd.rct.right, wd.rct.right, wd.rct.right);
xvt_pane_set_size_range(win(), wd.rct.right, wd.rct.right, wd.rct.right);
enable_options_menu(false); // Disabilita le opzioni
}
TString256 cap;
@ -259,6 +262,7 @@ void TBook_window::erode_antipa()
xvt_notebk_rem_page(_ctrl, p);
xvt_vobj_destroy(_ctrl);
_ctrl = NULL_WIN;
enable_options_menu(true); // Riabilita le opzioni
}
}
@ -410,6 +414,18 @@ void TOutlook_mask::handler(WINDOW w, EVENT* ep)
load_perspective(0); // Ricarica default
break;
case 8003:
xvt_dm_post_string_prompt(TR("Testo da cercare"),
_last_search.get_buffer(), _last_search.size());
// continue to 8004
case 8004:
if (_last_search.full() && _tree.find_string(_last_search))
{
TTree_field& tf = tfield(DLG_TREE);
synchronize_tree_field(tf);
tf.select_current();
}
break;
case 8005:
dispatch_e_menu(TASK_WIN, M_FILE_ABOUT);
break;
case 8883:

View File

@ -5,10 +5,6 @@
#include "ba0102.h"
#endif
#ifndef __EXECP_H
#include <execp.h>
#endif
///////////////////////////////////////////////////////////
// TOutlook_mask
///////////////////////////////////////////////////////////
@ -20,6 +16,7 @@ class TOutlook_mask : public TSpidey_mask
TString _per_def, _per_tmp;
bool _locked;
TString _last_search;
protected:
virtual void handler(WINDOW w, EVENT* ep);

View File

@ -90,36 +90,12 @@ BEGIN
PROMPT 38 11 "Sfondo"
END
GROUPBOX DLG_NULL 32 3
LISTBOX 211 1 15
BEGIN
PROMPT 1 5 "@bTemi predefiniti"
END
LISTBOX 211 1 12
BEGIN
PROMPT 2 6 "Tema "
ITEM "0|Campo"
ITEM "1|Sistema"
END
BUTTON 212 8 1
BEGIN
PROMPT 22 6 "Applica"
END
BUTTON DLG_USER 12 2
BEGIN
PROMPT -33 13 "Font"
END
BUTTON DLG_OK 12 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 12 2
BEGIN
PROMPT -33 -1 ""
PROMPT 1 5 "Temi predefiniti "
ITEM "0|"
ITEM "1|Campo"
ITEM "2|Sistema"
END
ENDPAGE
@ -148,12 +124,12 @@ END
BOOLEAN 219
BEGIN
PROMPT 1 5 "Visualizza il testo negli strumenti della barra"
PROMPT 1 5 "Mostra il testo degli strumenti"
END
RADIOBUTTON 216 1 16
BEGIN
PROMPT 32 0 "Tipo di Menu"
PROMPT 36 0 "Tipo di Menu"
ITEM "0|Normale"
ITEM "1|Albero"
ITEM "2|Explorer"
@ -171,14 +147,42 @@ BEGIN
RANGE 0 14
END
BUTTON DLG_OK 12 2
ENDPAGE
TOOLBAR "topbar" 0 0 0 2
BUTTON DLG_SAVEREC 10 2
BEGIN
PROMPT -13 -1 ""
PROMPT -16 -1 "Salva"
PICTURE BMP_SAVEREC
END
BUTTON DLG_CANCEL 12 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -33 -1 ""
PROMPT -26 -1 "Applica"
END
BUTTON DLG_NEWREC 10 2
BEGIN
PROMPT -36 -1 "Nuovo tema"
PICTURE BMP_NEWREC
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -46 -1 "Elimina tema"
PICTURE BMP_DELREC
END
BUTTON DLG_USER 10 2
BEGIN
PROMPT -56 -1 "Font"
PICTURE BMP_FONT
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -66 -1 ""
END
ENDPAGE