In einem Dialog werden in einer Funktion neue Buttons generiert. Diese werden jedoch nicht in der Staticarea dargestellt.
Code: Alles auswählen
@ 1,1 DCTABPAGE oTabPage1 CAPTION msg("ABTEILUNG") ;
SIZE 110,24.8 PREOFFSET 0 POSTOFFSET 85 ;
;//IMAGE ICON_CLOSEDFOLDER_GREEN ;
SELECTEDIMAGE ICON_OPENFOLDER_GREEN ;
TABHEIGHT 30 ;
CAPTIONLAYOUT XBP_LAYOUT_TEXTRIGHT ;
TEXTALIGN XBPALIGN_VCENTER + XBPALIGN_LEFT ;
MESSAGE {||msg("ABTEILUNG-Stamm")} INTO oMsgBox1 ;
FONT '12.Arial Bold';
TITLE "S" ;
STATICAREA oTab1Static ;
GOTFOCUS {||SetAppFocus(DC_GetObject(GetList,"ANR"))} ;
ID "MAIN"
@ 01,01 DCSAY msg('ANR') GET oRecord:ANR ;
SAYSIZE 10 TABSTOP PARENT oTab1Static SAYTOOLTIP msg('');
MESSAGE msg('') INTO oMsgBox2 VALID { ||.t. } ;
WHEN {||.f.} ;
PICTURE '999' ;
GETID 'ANR'
@ 02,01 DCSAY msg('ABTEILUNG') GET oRecord:ABTEILUNG ;
SAYSIZE 10 TABSTOP PARENT oTab1Static SAYTOOLTIP msg('');
MESSAGE msg('') INTO oMsgBox2 VALID { ||.t. } ;
EDITPROTECT {||!vEDIT} ;
PICTURE '!XXXXXXXXXXXXXXXXXXX' ;
GETID 'ABTEILUNG'
@ 03,01 DCSAY msg('BEREICH') GET oRecord:BEREICH ;
SAYSIZE 10 TABSTOP PARENT oTab1Static SAYTOOLTIP msg('');
MESSAGE msg('') INTO oMsgBox2 VALID { ||.t. } ;
EDITPROTECT {||!vEDIT} ;
PICTURE '!XXXXXXXXXXXXXXXXXXX' ;
GETID 'BEREICH'
@ 04,01 DCSAY msg('Anz. Reihen') GET oRecord:REIHE ;
SAYSIZE 10 TABSTOP PARENT oTab1Static SAYTOOLTIP msg('');
MESSAGE msg('') INTO oMsgBox2 VALID { ||.t. } ;
EDITPROTECT {||!vEDIT} ;
PICTURE '99' ;
GETID 'REIHE'
@ 04,15 DCSAY msg('Arbeitspl. pro Reihe') GET oRecord:RAP ;
SAYSIZE 12 TABSTOP PARENT oTab1Static SAYTOOLTIP msg('');
MESSAGE msg('') INTO oMsgBox2 VALID { ||.t. } ;
EDITPROTECT {||!vEDIT} ;
PICTURE '99' ;
GETID 'RAP'
@ 03.8,35 DCPUSHBUTTONXP ;
CAPTION msg("Arbeitsplätze Generieren") ;
PARENT oTab1Static ;
SIZE 15,1 ;
ACTION { ||oBrowse2:RefreshAll(),SetAppFocus(oBrowse2),GenAPLShema(aApp)}
Code: Alles auswählen
function GenAPLShema(aApp)
local xrow := 1,xcol := 21,xname,tmpnr,ii,iii
select ABTEILUNG
orec := recno()
select ARBEITSPLATZ
for ii = 1 to oRecord:REIHE
xcol =+ (ii*15)
xrow := 1
for iii = 1 to oRecord:RAP
xrow =+iii
tmpnr := STRZERO(ii,2)+STRZERO(iii,2)
locate for ARBEITSPLATZ->APNR === tmpnr
btnname := if(found(),dret(tmpnr,'personal',1,'trim(NAME)+", "+vorname'),"Nicht Zugeordnet")
@ xrow,xcol DCPUSHBUTTONXP ;
CAPTION msg(tmpnr) ;
PARENT oTab1Static ;
SIZE 14,1
next
next
DC_GetRefresh(aGetList)
return nil