Newsgroup: it.comp.lang.delphi
Titolo: JvChekedComboBox

Avevo bisogno di consentire scelte multiple e, non avendo spazio per una 
ListBox, ho trovato questo componente che sembra l'ideale. Però non è 
documentato e non capisco come, una volta effettuate le scelte spuntando i 
checkBox, dove poi il programma trova traccia delle scelte fatte (non c'è un 
ItemIndex, non c'è un onCloseUp..). Qualcuno l'ha già usato o mi può 
suggerire un'alternativa ? Grazie 
 

..non conosco il componente...Non uso Jedi....Ma non e' che ci sta una
property checked[xxx]..??
 
A.


La libreria JEDI VCL viene fornita completa di sorgente, quindi puoi esaminare questi - in assenza di eventuale documentazione specifica - per vedere quali sono le proprietà definite nel controllo e quali informazioni restituiscono nello specifico.
 
Ciao,
  Marco.
 
-- 
MARCO BREVEGLIERI
#Home: 
http://www.marco.breveglieri.name
 
#Blog: 
http://www.compilaquindiva.net
 

 A.
Non c'è una property 'checked'. C'è una Items, ma naturalmente includi tutti 
gli items e non solo quelli checked (ho provato ad usare l'evento OnChange; 
tra l'altro, dopo che con uno showmessage ho verificato che Items.Text 
include tutti gli elementi del,comboBox, come mi aspettavo, devo uscire con 
un project reset perchè si pianta tutto ...
 
Proverò a scaricare e indagare nel source, ma mi sa che non ci capisco un 
gran che. Grazie comunque 
 

 ha scritto nel messaggio 
news:9759368.6.1322816242560.JavaMail.geo-discussion-forums@vbxw7...

Ho scaricato i source (JVCL345SourceOnly.zip), ma l'unica referenza che ho 
trovato al nome JvCheckedComboBox è un .bmp. Eppure nella palette il 
componente c'è e funziona (?!).
Non capisco, non ho trovato nemmeno il .dcu ! 
 

il componente ha la property Checked[Index: Integer]: Boolean
quindi se fai la scansione
 
for i := 0 to JvCheckedComboBox1.Items.Count -1 do
  if JvCheckedComboBox1.Checked[i] then
 
verifichi lo stato di ogni checkbox, ciao Brunello

 il componente ha la property Checked[Index: Integer]: Boolean
 
Insomma, questo controllo ha una property "Checked" sì o no? :D


> Insomma, questo controllo ha una property "Checked" sì o no? :D
quella che ho io si!

 Insomma, questo controllo ha una property "Checked" sě o no? :D
quella che ho io si!
Questa č bella! Quello che ho io non ce l'ha (versione 3.40). Puoi 
controllare la versione ? 
 

 controllare la versione ?
 
M'intrometto.
 
Ha ragione Brunello. La proprietà Checked[n] esiste ma non la vedi 
nell'OI, la usi nel codice. Non puoi, quindi, settare il checked di ogni 
voce tramite OI ma solo tramite codice.

 Questa ï¿½ bella! Quello che ho io non ce l'ha (versione 3.40).
 
Anche senza verificare, nutro comunque seri dubbi che sia vero quanto dici, anche perché non avrebbe alcun senso un controllo visuale che aggiunge CheckBox agli elementi di una ComboBox senza il modo di farti sapere quali sono spuntate...


 ha scritto nel messaggio 
news:25732863.556.1322832670818.JavaMail.geo-discussion-forums@yqko12...

E' vero, ho provato ed esiste. Grazie. Ma come fa uno a saperlo e perche non 
è una proprietà pubblicata ? 
 

 nell'OI, la usi nel codice.
 
 
....non siamo mica a livello che una classe ha solo quello che espone
in OI...?
Vi prego, ditemi di no... :-|
 
 
 
A.

 Vi prego, ditemi di no... :-|
 
Pare di... ni. :)

 E' vero, ho provato ed esiste. Grazie.
 
Sokath, his eyes uncovered.

 Grazie. Ma come fa uno a saperlo e perche non ï¿½ una proprietï¿½ pubblicata ?
 
Ma cosa si intende con "proprietà pubblicata"?
La proprietà c'è ed è molto probabile che sia pubblica, quindi a meno che tu non voglia un popup in grado di leggerti nel pensiero e scriverti il nome della proprietà che ti occorre in un dato momento, non so cosa chiedi di più...


la mia versione e' la 3.40 comunque nel file  JVCombobox.pas trovi il
codice del componente e come vedi e' pubblica, ciao Brunello
 
  TJvCustomCheckedComboBox = class(TJvCustomComboEdit)
  private
    FCapSelAll: string;
    FCapDeselAll: string;
    FCapInvertAll: string;
    FItems: TStrings;
    FListBox: TJvCheckListBox;
    FSelectAll: TMenuItem;
    FDeselectAll: TMenuItem;
    FInvertAll: TMenuItem;
    FNoFocusColor: TColor;
    FSorted: Boolean;
    FQuoteStyle: TJvCHBQuoteStyle; // added 2000/04/08
    FCheckedCount: Integer;
    FColumns: Integer;
    FDropDownLines: Integer;
    FDelimiter: Char;
    FIgnoreChange: Boolean;
    FOrderedText: Boolean;
    procedure SetItems(AItems: TStrings);
    procedure ToggleOnOff(Sender: TObject);
    procedure KeyListBox(Sender: TObject; var Key: Word; Shift:
TShiftState);
    procedure ContextListBox(Sender: TObject; MousePos: TPoint; var
Handled: Boolean);
    procedure ItemsChange(Sender: TObject);
    procedure SetSorted(Value: Boolean);
    procedure AdjustHeight;
    procedure SetNoFocusColor(Value: TColor);
    procedure SetColumns(Value: Integer);
    procedure SetChecked(Index: Integer; Checked: Boolean);
    procedure SetDropDownLines(Value: Integer);
    function GetChecked(Index: Integer): Boolean;
    function GetItemEnabled(Index: Integer): Boolean;
    procedure SetItemEnabled(Index: Integer; const Value: Boolean);
    function GetState(Index: Integer): TCheckBoxState;
    procedure SetState(Index: Integer; const Value: TCheckBoxState);
    procedure SetDelimiter(const Value: Char);
    function IsStoredCapDeselAll: Boolean;
    function IsStoredCapSelAll: Boolean;
    procedure ChangeText(const NewText: string);
    procedure SetOrderedText(const Value: Boolean);
    function GetOrderedTextValue: string;
    procedure RefreshCheckedCount;
  protected
    procedure DoEnter; override;
    procedure DoExit; override;
    procedure AdjustSize; override;
    procedure CreatePopup; override;
    procedure Change; override;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    procedure Clear; override;
    procedure SetUnCheckedAll(Sender: TObject = nil);
    procedure SetCheckedAll(Sender: TObject = nil);
    procedure SetInvertAll(Sender: TObject = nil);
    function IsChecked(Index: Integer): Boolean;
    function GetText: string;
    property Checked[Index: Integer]: Boolean read GetChecked write
SetChecked;
    property CheckedCount: Integer read FCheckedCount;
    property ItemEnabled[Index: Integer]: Boolean read GetItemEnabled
write SetItemEnabled; //dejoy added
    property State[Index: Integer]: TCheckBoxState read GetState write
SetState;
 
    property Items: TStrings read FItems write SetItems;
    property CapSelectAll: string read FCapSelAll write FCapSelAll
stored IsStoredCapSelAll;
    property CapDeSelectAll: string read FCapDeselAll write
FCapDeselAll stored IsStoredCapDeselAll;
    property CapInvertAll: string read FCapInvertAll write
FCapInvertAll;
    property NoFocusColor: TColor read FNoFocusColor write
SetNoFocusColor;
    property Sorted: Boolean read FSorted write SetSorted default
False;
    property QuoteStyle: TJvCHBQuoteStyle read FQuoteStyle write
FQuoteStyle default qsNone; // added 2000/04/08
    property Columns: Integer read FColumns write SetColumns default
0;
    property DropDownLines: Integer read FDropDownLines write
SetDropDownLines default 6;
    property Delimiter: Char read FDelimiter write SetDelimiter
default ',';
    property OrderedText: Boolean read FOrderedText write
SetOrderedText default False;
  end;
 

 ha scritto nel messaggio 
news:16065552.313.1322843928096.JavaMail.geo-discussion-forums@vbwb6...

Intendevo 'published'. Mi riferivo al fatto che se fosse stata una proprietà 
published, mi sarei accorto della sua presenza nell'Object Inspector. Non è 
così ?
Altrimenti, quale altro modo c'è, salvo leggersi il source ?  (che avevo 
cercato e non trovato xchè cercavo un nome con 'checked' dentro, mentre vedo 
che si chiama semplicemente jvComboBoxx). Non sto polemizzando, ma solo 
cercando di capire.. 
 

 ha scritto nel messaggio 
news:16065552.313.1322843928096.JavaMail.geo-discussion-forums@vbwb6...

Considearte cancellato l'ultimo mio commento.. potevo accorgermene ... 
 

 Altrimenti, quale altro modo c'ï¿½, salvo leggersi il source ?
 
Bastava scrivere il nome del controllo e metterci un punto (.) dopo e "Code Insight" ti elenca proprietà e metodi dell'oggetto.
 
Questo però fa parte dell'ABC, dei fondamentali: se sei a questo punto, conviene fare un passo indietro prima di affrontare temi complessi e documentarti sulle basi del linguaggio e dell'ambiente di sviluppo (secondo me). :|
 
Ciao,
 Marco.
