FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ComboBox mas amcho que el definido....
Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 05:01 PM

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.
Posts: 364
Joined: Tue Oct 25, 2005 07:06 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 06:01 PM

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
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 06:07 PM

Julio,

Prueba con:

define CB_SETDROPPEDWIDTH 0x0160

oCombo:SendMsg( CB_SETDROPPEDWIDTH, nWidth )

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 06:38 PM

Maestro :
El parametro nWidth ... a que corresponderia ?
Saludos

Julio Gonzalez V.

RANDOM S.A.

SISTEMICA S.A.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 07:04 PM

Al ancho que deseas darle en pixeles

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 07:13 PM

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.
Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 08:53 PM
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 :
...
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.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 08:59 PM

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
Posts: 189
Joined: Mon Nov 07, 2005 07:36 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 09:10 PM

Perfecto !!!

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

Mil gracias

Julio Gonzalez V.

RANDOM S.A.

SISTEMICA S.A.
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
ComboBox mas amcho que el definido....
Posted: Fri Oct 05, 2007 11:18 PM

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

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1446
Joined: Mon Oct 10, 2005 02:38 PM
ComboBox mas amcho que el definido....
Posted: Sat Oct 06, 2007 09:13 PM
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, ::hFont ) - 1
EndIf

if ::lDrag
::CheckDots()
endif

return Self"


Saludos
Carlos G.

Un Saludo

Carlos G.



FiveWin 25.12 + Harbour 3.2.0dev (r2502110321), BCC 7.7 Windows 11 Home

Continue the discussion