Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: dex - 19 Ottobre 2010, 22:59:55

Titolo: [risolto] creazione classe
Inserito da: dex - 19 Ottobre 2010, 22:59:55
raga
volevo trasformare il codice allegato in una classe.
si tratta di un codice che fa autoresize di un form, il codice è per gambas2 ma funziona anche con il 3 (basta fare un aggiorna form).
chi è disposto a darmi una mano?  :coder:
(chissa se milio passa da queste parti?  ;D ;D)
Titolo: Re: creazione classe
Inserito da: milio - 19 Ottobre 2010, 23:17:39
son passato di qua :)

l'esempio dovresti cambiarlo pero'

hai messo il componente gb.gridedit nel tuo form e credo che oltre io, te e golia nessun altro lo usi quel componente :)

Titolo: Re: creazione classe
Inserito da: milio - 19 Ottobre 2010, 23:19:58
A prima vista penso che si possa fare... se hai tempo di rifarmi l'esempio ci provo anche stasera stessa....
Titolo: Re: creazione classe
Inserito da: milio - 19 Ottobre 2010, 23:57:03
Ok dato che ero in vena  ;D ho corretto il progetto togliendo manualmente il componente gb.gridedit e ti ho fatto la classe ricopiando paro paro la logica da te scritta per il resize delle form.

Basta che dichiari in ogni form che necessita del tuo speciale resize la classe CResize in questo modo:


Codice: gambas [Seleziona]
PRIVATE Resize As CResize

PUBLIC SUB _new

  Resize = CResize(ME)

END


La classe si occuperà in automatico di ridimensionare gli oggetti contenuti nel Parent Form secondo la logica da te scritta...

se hai dubbi fammi sapere  :2birre:
Titolo: Re: creazione classe
Inserito da: dex - 20 Ottobre 2010, 02:03:58
son passato di qua :)

l'esempio dovresti cambiarlo pero'

hai messo il componente gb.gridedit nel tuo form e credo che oltre io, te e golia nessun altro lo usi quel componente :)


non credo che siamo in cosi pochi, comunque la colpa è tua che ha fatto un componente troppo complesso e sofisticato, se vuoi il plauso di massa fai una cosa semplice semplice, tipo una gridview che visualizza i dati in vari colori, vedrai in quanti la useranno.

a parte gli scherzi grazie per l'aiuto, secondo me dovresti inserire la classe nella sezione download
Titolo: Re: [risolto] creazione classe
Inserito da: dex - 21 Ottobre 2010, 23:51:14
ho una nuova esigenza.

all'interno di  alcuni form ci sono Gridview, con la classe creata la Grid si adatta al ridimensionamento le colonne no.
è possibile far adattare la larghezza delle colonne in base alla grid sempre rispettando le proporzioni?
Titolo: Re: [risolto] creazione classe
Inserito da: milio - 22 Ottobre 2010, 00:15:25
bhe questo te lo devi gestire tu facendo un controllo sui Control della form. se Control = GridView allora For Nx = 0 to Control.Columns.Count-1 .... bla bla bla... bla bla bla...  ;)
Titolo: Re: [risolto] creazione classe
Inserito da: andy60 - 22 Ottobre 2010, 07:44:39
@dex

milio è già prenotato x il controllo calendario!!! :P
Titolo: Re: [risolto] creazione classe
Inserito da: dex - 22 Ottobre 2010, 12:12:14
@dex

milio è già prenotato x il controllo calendario!!! :P

andy60 ma tu che numero hai sul ticket eliminacode?   :-\
prenoto il numero successivo.
Titolo: Re: [risolto] creazione classe
Inserito da: andy60 - 23 Ottobre 2010, 00:20:38
@dex

milio è già prenotato x il controllo calendario!!! :P

andy60 ma tu che numero hai sul ticket eliminacode?   :-\
prenoto il numero successivo.

 :P
Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 10 Aprile 2011, 19:45:31
Ho ripreso questa discussione perchè stò utilizzando la classe "Resize" creata da milio (che funziona benissimo...come tutti i suoi progetti  :ok:) che mi stà tornando utilissima, l'unica problema che ho trovato è il ridimensionamento di un form contenente una PictureBox, il form viene correttamente ridimensionato mentre la Picture mantiene le sue dimensioni inalterate, non sono riuscito a capire il motivo.

La prova la stò facendo sul progetto di fsurfing  "linegraf" (lo trovate sul forum) che contiene una PictureBox per disegnare i grafici nel form FMain.
Se qualcuno vuol fare qualche prova e mi fa sapere come risolvere lo ringrazio anticipatamente.
Titolo: Re: [risolto] creazione classe
Inserito da: dex - 10 Aprile 2011, 21:09:11
Ho ripreso questa discussione perchè stò utilizzando la classe "Resize" creata da milio (che funziona benissimo...come tutti i suoi progetti  :ok:) che mi stà tornando utilissima, l'unica problema che ho trovato è il ridimensionamento di un form contenente una PictureBox, il form viene correttamente ridimensionato mentre la Picture mantiene le sue dimensioni inalterate, non sono riuscito a capire il motivo.

La prova la stò facendo sul progetto di fsurfing  "linegraf" (lo trovate sul forum) che contiene una PictureBox per disegnare i grafici nel form FMain.
Se qualcuno vuol fare qualche prova e mi fa sapere come risolvere lo ringrazio anticipatamente.

Ciao
che strano a me funziona anche sulle picturebox.
ti allego la classe che uso proprio sui grafici "linegraf" che mi ridimensiona la picture.

Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 14 Aprile 2011, 21:17:27
Ciao dex,
scusa se non ti ho risposto prima, ma il lavoro....impegna...
Allora, io ho provato la classe che mi hai postato ma non è cambiato niente,
praticamente se ingrandisco il form la PictureBox di Linegraf perde le proporzioni, se la rimpiciolisco anche di poco
alcuni elementi vengono nascosti perchè rimane statica.
Se hai idee. Grazie
Titolo: Re: [risolto] creazione classe
Inserito da: fsurfing - 14 Aprile 2011, 21:28:00
devi ridimensionare la pictre di linegraf prima della creazione del grafico e passare a linegraf le dimensioni della picture già ridimensionata
Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 16 Aprile 2011, 22:01:56
Ciao fsurfing,
non riesco a mettere in pratica il tuo suggerimento, qualche indicazione in più?
Titolo: Re: [risolto] creazione classe
Inserito da: dex - 19 Aprile 2011, 23:11:50
Ciao fsurfing,
non riesco a mettere in pratica il tuo suggerimento, qualche indicazione in più?

l'errore non è nella classe ma nel form.

prova a richiamare la classe in new

Citazione
PUBLIC SUB _new()
   
    ME.Title = "Grafici delle Sedi"

M1.Resize = NEW CResize(ME)
END
Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 19 Aprile 2011, 23:23:47
Ciao dex, io la classe la richiamo come hai indicato tu (a meno di cavolate), ti posto il codice
Codice: gambas [Seleziona]
PRIVATE Resize AS CResize

PUBLIC SUB _new()
  ME.Center
  ME.Title = "Statistiche Grafiche"
  Resize = NEW CResize(ME)
END


Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 09 Novembre 2011, 13:26:19
Usavo questa classe con Gambas3 (come sottoriportato nella citazione di dex) funzionante fino a quando ultimamente ho aggiornato
all'ultima versione (da svn)

raga
volevo trasformare il codice allegato in una classe.
si tratta di un codice che fa autoresize di un form, il codice è per gambas2 ma funziona anche con il 3 (basta fare un aggiorna form).
chi è disposto a darmi una mano?  :coder:
(chissa se milio passa da queste parti?  ;D ;D)

ora non si avvia è mi da il seguente errore:
Invalid object in CResize:21

Fino ad ora ho risolto i problemi dati dalla conversione da Gambas2 in Gambas3 (almeno per i miei progetti), ma questo non l'ho capito.
Sono un pò arrugginito visto il poco tempo che ho, mi serve il vostro aiuto...
Titolo: Re: [risolto] creazione classe
Inserito da: md9327 - 09 Novembre 2011, 15:01:00
Perdona ma, non è meglio che posti la classe CResize?
Oppure il codice presente alla riga 21...
Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 09 Novembre 2011, 18:45:37
Perdona ma, non è meglio che posti la classe CResize?
Oppure il codice presente alla riga 21...
Ciao md9327,
non ho postato la classe perchè già inserita in questo post, se guardi alla pagina precedente la trovi nella risposta di milio (l'ha creata lui).
Titolo: Re: [risolto] creazione classe
Inserito da: milio - 09 Novembre 2011, 20:25:47
Guarda un po' se ti va bene cosi' ;)
Titolo: Re: [risolto] creazione classe
Inserito da: tornu - 10 Novembre 2011, 10:28:04
Guarda un po' se ti va bene cosi' ;)

Non avebo dubbi  :2birre: :2birre:  :ok: :ok:
Ho visto che hai modificato qualche riga di codice ma non ho capito la differenza tra le due versioni, comunque grazie.