Italian [risolto non si ancora ma si scrive codice] [b4j] ancora da codice

ivanomonti

Expert
Licensed User
Longtime User
come posso ancorare un oggetto via codice <--->

da una classe creo dei pane via codice che vorrei ancorare al pane parent
 
Last edited:

ivanomonti

Expert
Licensed User
Longtime User
Cazzarola mi stavo disegnando a codice una mia list view personalizzata visto il periodo di merda che sto passando... ma a questo punto dovrò scrivere del codice in più.

@LucaMs come faccio (non ricordo) dalla classe creare un evento che possa essere richiamato dal main attraverso una sub

esempio nella mia classe classe, e nel main classe_click :-(

 

LucaMs

Expert
Licensed User
Longtime User
@LucaMs come faccio (non ricordo) dalla classe creare un evento che possa essere richiamato dal main attraverso una sub

esempio nella mia classe classe, e nel main classe_click :-(
Credo che tu voglia fare l'inverso di ciò che hai scritto (ma non è improbabile che io abbia capito male, tra il fatto che sono sveglio da poco e con mal di testa).

Se davvero dalla main vuoi chiamare una sub della classe, è ovvio che basti che nella classe la sub sia dichiarata Public.

Viceversa, invece, se nella classe hai un button (sarebbe meglio che dessi un'occhiata a come si crei una B4X custom view), nella routine-evento click del button dichiarato nella tua classe dovrai scrivere qualcosa come:
La tua classe:
#Event: Click

Sub Class_Globals
    Private mComponent As Object
    Private mEventName As String
End Sub

Public Sub Initialize(Component As Object, EventName As String)
    mComponent = Component
    mEventName = EventName
End Sub

Private Sub MioButton_Click
    Dim FullSignature As String
    FullSignature = mEventName & "_Click"
    If SubExists(mComponent, FullSignature) Then
        CallSubDelayed(mComponent, FullSignature)
    End If
End Sub

Quando inizializzerai l'oggetto-tua-classe, gli passerai ME:
B4X:
Dim MioOggetto As MiaClasse
MioOggetto.Initialize(Me, "NomeOggetto")
'NomeOggetto sarà il "nome evento", il prefisso, diciamo, per cui poi avrai:
Public Sub NomeOggetto_Click
End Sub
che sarà chiamato dalla classe.
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
Quello non ha a che fare con gli ancoraggi del Designer, non utilizzabili nel codice. E' un pane ancorabile (il che non è la stessa cosa, nel senso che nel Designer puoi ancorare qualunque tipo di view)
Ah, però...

E' vero che è quel pane che sarà ancorato, ma al suo interno è possibile ancorare altri nodi, usando SetAnchor(NodoDaAncorare).

Certo, funzionerà solo in B4J ma può essere utile.
(Sempre meglio creare B4X custom view, eh)
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…