Listcontrol Events + Userbuttons
Informationen
- Kategorien: GUI | Steuerelemente
- Version: 17.0.0.5424
- Veröffentlichungsdatum: Freitag, 11. Oktober 2013
- Entwickler: Götzen
- Benötigt Datenbankänderung: Nein
- Betreff: Listcontrol Events / Userbuttons
Beschreibung
Mit Hilfe von 3 neuen Klassenformelevents kann der Projektentwickler jetzt auf das Verhalten und Aussehen der Buttons in den Listensteuerlementen "List", "MtoNList", "FilterList" und "FixFilterList" Einfluss nehmen.
Diese Events sind:
onEvent_ListControlButtonCreate() zum Bestimmen des Buttontextes, des Tooltips und des Symbols. Dieses Event muss in den zusätzlichen Eigenschaften des Listensteuerlementes aktiviert werden mit: B_BUTTONNAME_CREATEEVENT=TRUE .
onEvent_ListControlButtonEnable() zum Aktiv/Inaktiv Schalten des Buttons je nach markierten Elementen. Dieses Event muss in den zusätzlichen Eigenschaften des Listensteuerlementes aktiviert werden mit: B_BUTTONNAME_ENABLEEVENT=TRUE
onEvent_ListControlButtonClicked() zum Steuern des Verhaltens beim Klick auf den Button. B_BUTTONNAME_CKLICKEDEVENT=TRUE Dieses Event muss in den zusätzlichen Eigenschaften des Listensteuerlementes aktiviert werden mit: B_BUTTONNAME_CKLICKEDEVENT=TRUE
Außerdem ist es möglich dem Listensteuerlement bis zu 4 extra Schaltflächen hinzuzufügen. Dies erfolgt mit B_USER1BUTTON=TRUE;B_USER2BUTTON=TRUE; ... in den zusätzlichen Eigenschaften des Listensteuerlementes. Das Verhalten der Buttons lässt sich wiederum mit obigen Events steuern.
Da alle 3 Events den Namen des Listensteuerlementes übergeben bekommen ist es notewendig, diesem auch einen Namen zu geben.
Dies erfolgt mit NAME=
Beispielcode
int onEvent_ListControlButtonClicked( string $sControlName, string $sButtonName, entitylist $elEntireListEntities, entity $MarkedEntityArray [] )
{
var int $bEventHandled;
$bEventHandled = 0;
switch( $sControlName )
{
case "InvertarList":
switch( $sButtonName )
{
case "USER1":
MessageBox( "USER1 Clicked");
$bEventHandled = 1;
break;
case "EDIT":
if( GetSize( $MarkedEntityArray ) == 1 )
{
ShowEntity( $MarkedEntityArray[ 0 ], 1, 1 );
}
$bEventHandled = 1;
break;
}
break;
}
return $bEventHandled;
}
int onEvent_ListControlButtonCreate( string $sControlName, string $sButtonName, byref string $sLabel, byref string $sHelptext, byref string $sIcon )
{
var int $bEventHandled;
$bEventHandled = 0;
switch( $sControlName )
{
case "InvertarList":
switch( $sButtonName )
{
case "USER1":
$sLabel = "TestButton";
$sHelptext = "TestButton Helptext";
$sIcon = "ActivateFilter";
$bEventHandled = 1;
break;
}
break;
}
return $bEventHandled;
}
int onEvent_ListControlButtonEnable( string $sControlName, string $sButtonName, entity $eMarkedAndFocusedEntity, int $iMarkedEntityCount, int $bControlReadOnly, byref int $bShow, byref int $bEnable )
{
var int $bEventHandled;
$bEventHandled = 0;
$bShow = 1;
switch( $sControlName )
{
case "InvertarList":
switch( $sButtonName )
{
case "USER1":
if( $iMarkedEntityCount > 1 )
{
$bEnable = 1;
}
else
{
$bEnable = 0;
}
$bEventHandled = 1;
break;
}
break;
}
return $bEventHandled;
}