COLUNAS REDIMENSIONAVEIS NO FLEXGRID

USUARIO.EXCLUIDOS 20/04/2004 11:48:55
#21564
Tem um jeito de fazer com que o usuário redimenione as colunas do flexgrid, assim como fazemos isso em qualquer pasta do windows?
exemplo: Nome | Tamanho | Tipo
dá para aumentar ou diminuir os campos com aquela flechinha dupla com uma barra no meio.

obs.: sem usar a propriedade AllowUserResizing do Flexgrid.

Valeu
USUARIO.EXCLUIDOS 20/04/2004 11:52:18
#21568
Resposta escolhida
Sim, claro.
Marque a propriedade AllowUserResizing como 3, Both, e o usuário poderá redimensionar manualmente, tanto linhas quanto colunas.
USUARIO.EXCLUIDOS 20/04/2004 11:57:50
#21577
Hehehe, também não entendi isso, KPELLAJR, pois essa é a propriedade que trata justamente disso...
Mas até dá para fazer, por meio dos eventos do FlexGrid, alterando o ColWidth... Se realmente não puder utilizar o AllowUserResizing, vai dar um trabalhinho...
USUARIO.EXCLUIDOS 20/04/2004 12:05:51
#21588
USUARIO.EXCLUIDOS 20/04/2004 13:33:38
#21619
Certo, Mary. Agora ficou mais detalhado.
Tem como, sim, sempre há uma forma.
Você preenche o FlexGrid "na mão", não é? Isto é, está inserindo os valores diretamente nas células, com o TextMatrix provavelmente.
Nessa rotina, insira uma função para truncar a string, sempre que seu tamanho for maior do que o da célula.
Ao redimensionar a coluna, o evento dispara a carga do flexgrid novamente. Um exemplo do uso na carga do FlexGrid seria:
...
MSFlexGrid1.TextMatrix(l,c) = TruncaCampo( oRS.Field(n), msflexgrid1.ColWidth(c))
...
E a função, por sua vez, testaria o valor da largura do campo especificado, mais as reticências, por meio do TextWidth do Form em questão, em um loop, reduzindo-o até atingir o tamanho adequado, especificado pelo msflexgrid1.ColWidth(c).
USUARIO.EXCLUIDOS 20/04/2004 13:50:02
#21627
Hehehehe!
Trocar o cursor do mouse apenas durante o evento do resizing...
Você tem esse arquivo de cursor em mãos?
Tópico encerrado , respostas não são mais permitidas