SIGLAPPGetMenuItem

Da SIGLAkb.
Versione del 26 mag 2021 alle 16:06 di WikiSysop (Discussione | contributi) (una versione importata)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Dp-ingranaggio3.png SCOPO: viene chiamata da SIGLA® durante la generazione del menù operativo. Consente di creare un menù Personalizzazioni (il menù viene creato se la funzione restituisce almeno una volta il valore TRUE).

Libreria SIGPPDLL.DLL
Dp-Pointing256.png

SIGLAPPStart
SIGLAPPStop
SIGLAPPCreateComuni
SIGLAPPCreateDitta
SIGLAPPInit
SIGLAPPSetEsercizio
SIGLAPPDoMenuCommand
SIGLAPPGetMenuItem
SIGLAPPSaveObject
SIGLAPPDeleteObject
SIGLAPPSetSconti
SIGLAPPSetProvvigioni
SIGLAPPSetPrezzo
SIGLAPPExecuteSQL

Per ogni voce del menù la funzione deve tornare l'ID e la descrizione della voce (massimo 30 bytes). L'ID deve essere compreso fra 6000 e 6100. SIGLA® continua a chiamare la funzione finché questa non torna il valore FALSE. Il primo carattere della descrizione viene usato come tasto acceleratore.

La sintassi della funzione è la seguente:

 
 
 BOOL DLLCALL SIGLAPPGetMenuItem(int *MenuID, LPSTR menudescr);
 
 

Così come viene distribuita la funzione torna immediatamente il valore FALSE.

Volendo, ad esempio, aggiungere un menù Personalizzazioni composto di tre voci ci si deve comportare come segue:

  • definire una variabile globale intera int menuitem
  • azzerare tale variabile nel corpo della funzione SIGLAPPInit che viene chiamata prima che SIGLA® generi il menù operativo
  • modificare SIGLAPPGetMenuItem
 
 
 int menuitem;
 
 void DLLCALL SIGLAPPInit(LPSTR utente, LPSTR todaydate,
  LPSTR codditta,
  LPSTR ragsoc, LPSTR termname
  LPSTR dittaconnectstring,
  LPSTR comuniconnectstring,
  DPDbase *ditta, DPDbase *comuni)
 {
  // ...
 
  menuitem=0;
 }
 
 BOOL DLLCALL SIGLAPPGetMenuItem(int *MenuID,LPSTR menudescr)
 {
  if(menuitem>=3) return FALSE;
 
  menuitem++;
 
  switch(menuitem)
  {
  case 1:
  *MenuID=6001;
  strcpy(menudescr,"A Prova 1");
  break;
  case 2:
  *MenuID=6002;
  strcpy(menudescr,"B Prova 2");
  break;
  case 3:
  *MenuID=6003;
  strcpy(menudescr,"C Prova 3");
  break;
  }
 
  return TRUE;
 }
 

Bibliografia

Voci correlate

Come si personalizza SIGLA
La libreria SIGPPDLL
SIGLAPPInit