Table of Contents

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= in den zusätzlichen Eigenschaften des Listensteuerlementes.

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;
}