erkennen wenn Breite der Tabellenspalten verändert wird ?

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

erkennen wenn Breite der Tabellenspalten verändert wird ?

Beitrag von AUGE_OHR »

hi,

mit

Code: Alles auswählen

oColumn:heading:lbClick := Codeblock
kann ich auf den Klick auf einen Column Header reagieren.

Frage : wenn ich nun die Breite der Column verändere, indem ich zwischen den Headern klicke, wie "merkt" das meine App :?:

Idee gesucht für XbpBrowse() sowie (native) Listview()

Hintergrund : ich möchte die selbe Breite in weiteren Fenstern habe und die synchronisieren
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: erkennen wenn Breite der Tabellenspalten verändert wird ?

Beitrag von Tom »

Das ist ein Resize-Event, nichts weiter. Du musst also nur den Resize-Slot der Spalte(n) belegen und dort reagieren.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: erkennen wenn Breite der Tabellenspalten verändert wird ?

Beitrag von AUGE_OHR »

Tom hat geschrieben: Fr, 20. Jul 2018 6:52 Das ist ein Resize-Event, nichts weiter. Du musst also nur den Resize-Slot der Spalte(n) belegen und dort reagieren.
:idea: JA
ich habe das Demo \SOURCE\samples\basics\GuiBrow\FBROWSE.prg modifiziert

Code: Alles auswählen

   FOR i:=1 TO F_LEN
      oCol := oBrowse:addColumn( DirBlock( aArray, i ), aHeading[i,1], aHeading[i,2] )
      oCol:heading:resize := {|| Msgbox("Header resize") }
   NEXT
... aber bei oDlg:Show() führt er nun für jede Column den Codeblock aus beim Start :(

OK Danke,
ich werde noch ein wenig daran rum-schrauben bis es so passt wie ich es gerne hätte
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: erkennen wenn Breite der Tabellenspalten verändert wird ?

Beitrag von Tom »

Ja, weil die Spalte vorher die Dimensionen 0,0 hat. Beim Resizen vergleicht man deshalb die aktuellen mit den vorigen Werten. Ich setze bei ähnlichen Gelegenheiten Flag-iVars im Dialogobjekt (abgeleitete Klasse), um Erstaufbau, das Restaurieren von Einstellungen usw. abzufangen. Und man muss natürlich aufpassen, nicht in eine Endlosrekursion zu geraten.
Herzlich,
Tom
Antworten