ComboBox mas amcho que el definido....

Post Reply
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

ComboBox mas amcho que el definido....

Post by dbzap »

hola a todos...
me gustaria desplegar una lista desde el combobox, pero que fuera mas ancha que el espacio fisico en el cual pongo dicho combobox.

Tengo una lista para desplegar y su ancho soporta por ejemplo 10 caracteres...pero me gustraria que desplegara una lista con mayor cantidad de caracteres, sin que estos queden bajo la barra de desplazamiento

Agradecido de antemano.
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
QAZWSX2K
Posts: 359
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Post by QAZWSX2K »

la amigo no entiendo tu pregunta, uno modifica el ancho del combobox a como uno quiera, de todos modos te pongo un ejemplo de como yo los uso, espero te sirva

SOCIEDADES={}
AADD(SOCIEDADES,"COMPAÑIA ANONIMA ")
AADD(SOCIEDADES,"RESPONSABILIDAD LIMITADA ")
AADD(SOCIEDADES,"ASOCIACION ")
AADD(SOCIEDADES,"COMANDITA ")
AADD(SOCIEDADES,"FUNDACION ")
AADD(SOCIEDADES,"CORPORACION ")
AADD(SOCIEDADES,"COMUNIDAD ")
AADD(SOCIEDADES,"SOCIEDAD ANONIMA ")
AADD(SOCIEDADES,"SOCIEDAD COLECTIVA ")
AADD(SOCIEDADES,"COOPERATIVA ")
@ 175, 60 COMBOBOX OBOX VAR xTSOCIE ITEMS SOCIEDADES OF FICHA:ADIALOGS[1] size 100,100 PIXEL
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian

alex_patino74@hotmail.com
whatsapp 57+3214777217
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Julio,

Prueba con:

#define CB_SETDROPPEDWIDTH 0x0160

oCombo:SendMsg( CB_SETDROPPEDWIDTH, nWidth )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

Maestro :
El parametro nWidth ... a que corresponderia ?
Saludos
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Al ancho que deseas darle en pixeles
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

y alguna funcion que comvierta caracteres en pixels ?
o algun ejemplo que me lo demuestre ?
gracias
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

no resulta....
la imagen queda recortada y el item mayor queda bajo el vscroll....
tengo la imagen ( en pequeño ) pero no se como adjuntarla
gracias

este es el codigo :

Code: Select all

...
Local aTipos := { "Producto Estándar",;
                  "Producto Seriado/Activo Fijo",;
                  "Producto Multipropósito",;
                  "Servicios",;
                  "Productos Genéricos",;
                  "Productos Crías de Genéricos" }
...
REDEFINE BTNGET   oDescri VAR cDescri ID 91 Of oDlg
[b]
REDEFINE COMBOBOX oTipo   VAR cTipo ITEMS aTipos ID 92 Of oDlg ;
         VALID ( If( oTipo:nAt<>0,;
                     cTipoReal := aTipoReal[oTipo:nAt],;
                     NIL ),;
                 .T. )
oTipo:SendMsg( CB_SETDROPPEDWIDTH, 280 )
[/b]

REDEFINE BTNGET   oFami   VAR cFami   ID 93 Of oDlg
( con el define que me indicaste en el top del PRG )
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Julio,

El mensaje tienes que enviarlo desde la claúsula ON INIT ya que antes el control no tiene un handle de ventana válido:

ACTIVATE DIALOG oDlg ;
ON INIT oTipo:SendMsg( CB_SETDROPPEDWIDTH, 280 )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
dbzap
Posts: 189
Joined: Mon Nov 07, 2005 7:36 pm
Location: Chile
Contact:

Post by dbzap »

Perfecto !!!

Pero para terminarla, existira una funcion que convierta de caracteres a pixeles ?

Mil gracias
Julio Gonzalez V.
RANDOM S.A.
SISTEMICA S.A.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

GetTextWidth( 0, cTexto, oFont:hFont ) --> nPixels
regards, saludos

Antonio Linares
www.fivetechsoft.com
FiveWiDi
Posts: 910
Joined: Mon Oct 10, 2005 2:38 pm

Post by FiveWiDi »

Antonio,
Antonio Linares wrote:GetTextWidth( 0, cTexto, oFont:hFont ) --> nPixels
Viendo estas líneas, no sería posible crear una cláusula AUTOWIDTH para los SAY?

Algo así como:
"METHOD New( nRow, nCol, bText, oWnd, cPicture, oFont,;
lCentered, lRight, lBorder, lPixels, nClrText, nClrBack,;
nWidth, nHeight, lDesign, lUpdate, lShaded, lBox, lRaised, lAutoWidth ) CLASS TSay
.../...

if lAutoWidth
::nRight = ::nLeft + GetTextWidth( 0, ::cCaption, ::oFont:hFont ) - 1
EndIf

if ::lDrag
::CheckDots()
endif

return Self"


Saludos
Carlos G.
Post Reply