FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour ComboBox
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: ComboBox
Posted: Thu Aug 27, 2015 07:21 AM

Hola Cristóbal y Jose Luis:

En primer lugar comentarle a Cristóbal que hecho pruebas con lo que me dijiste ayer y si sino lo pongo me pone NIL como a José Luis y si lo pongo me pone "16384" pero he cambiado el Style y en vez de 0x00004000 puse 0x00000000 que es otro que pone en la página del enlace y me sigue poniendo !16384" cambie a dos o tres números y seguía poniendo el mismo numero. Parece que no lo coge.

Por otra parte pediría a Jose Luis que si puede hacer dos capturas de la ComboBox en el programa una abierta y la otra cerrada. Para ver el resultado.

Un saludo

Carlos

Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ComboBox
Posted: Thu Aug 27, 2015 07:58 AM
Carlos, estoy haciendo pruebas

Efectivamente tal y como comentan con un RC funciona (he modificado para hacer pruebas el RC que viene con FivEdit ) y obtengo los mismos valores que Jose Luis y que tu.
Con recursos el valor obtenido en 0

Code (fw): Select all Collapse
// Generated by ResEdit 1.6.2
// Copyright (C) 2006-2014
// <!-- m --><a class="postlink" href="http://www.resedit.net">http://www.resedit.net</a><!-- m -->


LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
editor DIALOG 18, 18, 286, 223
STYLE DS_3DLOOK | DS_SETFONT | WS_CHILDWINDOW
FONT 8, "Ms Sans Serif"
{
    LTEXT           "Text color", 0, 25, 11, 32, 8, SS_LEFT, WS_EX_LEFT
    EDITTEXT        110, 23, 21, 232, 13, 0, WS_EX_LEFT
    LTEXT           "Back color", 1, 25, 38, 35, 8, SS_LEFT, WS_EX_LEFT
    EDITTEXT        120, 23, 48, 233, 13, 0, WS_EX_LEFT
    LTEXT           "Caret line back color:", -1, 24, 66, 68, 8, SS_LEFT, WS_EX_LEFT
    EDITTEXT        130, 23, 75, 232, 13, ES_AUTOHSCROLL, WS_EX_LEFT
    LTEXT           "Font:", -1, 24, 92, 17, 8, SS_LEFT, WS_EX_LEFT
    EDITTEXT        140, 23, 102, 232, 13, ES_AUTOHSCROLL, WS_EX_LEFT
    LTEXT           "Theme", 2, 24, 122, 23, 8, SS_LEFT, WS_EX_LEFT
    COMBOBOX        150, 24, 132, 78, 14, CBS_DROPDOWN | CBS_HASSTRINGS, WS_EX_LEFT | WS_EX_LEFTSCROLLBAR
}


Adjunto imagen de su efecto

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 505
Joined: Sat Apr 22, 2006 09:09 AM
Re: ComboBox
Posted: Thu Aug 27, 2015 01:41 PM
Hola Cristóbal:

He estado mirando y he visto lo siguiente, en mi PRG existe la siguiente línea:
Code (fw): Select all Collapse
@150*ProPorV, 90*ProporH combobox xPul16 VAR va111 ITEMS { " " + LocaText( 1, 2,530), " " + LocaText( 1, 2,531), " " + LocaText( 1, 2,532) }                            OF wGestd1901 PIXEL COLOR escri30, fondo30 SIZE  80*ProporH, 144*ProPorV ON CHANGE CambTiSu() STYLE CBS_DROPDOWNLIST

Cuando yo compilo hago los siguientes pasos:

%hdir%harbour gesti190.prg /n /p
%bdir%bcc32 -M -c -O2 -Ic:\harbour\include -Ic:\bcc582\include gesti190.c

El primero crea un gesti190.c y gesti190.ppo con el segundo crea el gesti190.obj

He mirado el .c y hace referencia a xPul16 de la siguiente forma:

{ "XPUL16", {HB_FS_PUBLIC | HB_FS_MEMVAR}, {NULL}, NULL },

Y mirando el .ppo hace referencia a xPul16 de la siguiente forma:
Code (fw): Select all Collapse
xPul16 := TComboBox():New( 150*ProPorV, 90*ProporH, { | u | If( PCount()==0, va111, va111:= u ) }, { " " + LocaText( 1, 2,530), " " + LocaText( 1, 2,531), " " + LocaText( 1, 2,532) }, 80*ProporH, 144*ProPorV, wGestd1901,, {|Self|CambTiSu()},, escri30, fondo30, .T.,,, .F.,, .F.,,, 3,,, "xPul16" )

y según veo ya no esta el style viendo la WIKI he visto que cuando lo haces como yo no pasa el Style y cuando lo haces por recursos si:
Code (fw): Select all Collapse
 #xcommand @ <nRow>, <nCol> COMBOBOX [ <oCbx> VAR ] <cVar> ;
[ <items: ITEMS, PROMPTS> <aItems> ] ;
[ SIZE <nWidth>, <nHeight> ] ;
[ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
[ <help:HELPID, HELP ID> <nHelpId> ] ;
[ ON CHANGE <uChange> ] ;
[ VALID <uValid> ] ;
[ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
[ <pixel: PIXEL> ] ;
[ FONT <oFont> ] ;
[ <update: UPDATE> ] ;
[ MESSAGE <cMsg> ] ;
[ WHEN <uWhen> ] ;
[ <design: DESIGN> ] ;
[ BITMAPS <acBitmaps> ] ;
[ ON DRAWITEM <uBmpSelect> ] ;
=> ;
[ <oCbx> := ] TComboBox():New( <nRow>, <nCol>, bSETGET(<cVar>),;
<aItems>, <nWidth>, <nHeight>, <oWnd>, <nHelpId>,;
[{|Self|<uChange>}], <{uValid}>, <nClrText>, <nClrBack>,;
<.pixel.>, <oFont>, <cMsg>, <.update.>, <{uWhen}>,;
<.design.>, <acBitmaps>, [{|nItem|<uBmpSelect>}] )
#xcommand REDEFINE COMBOBOX [ <oCbx> VAR ] <cVar> ;
[ <items: ITEMS, PROMPTS> <aItems> ] ;
[ ID <nId> ] ;
[ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
[ <help:HELPID, HELP ID> <nHelpId> ] ;
[ ON CHANGE <uChange> ] ;
[ VALID <uValid> ] ;
[ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
[ <update: UPDATE> ] ;
[ MESSAGE <cMsg> ] ;
[ WHEN <uWhen> ] ;
[ BITMAPS <acBitmaps> ] ;
[ ON DRAWITEM <uBmpSelect> ] ;
[ STYLE <nStyle> ] ;
[ PICTURE <cPicture> ];
[ ON EDIT CHANGE <uEChange> ] ;
=> ;
[ <oCbx> := ] TComboBox():ReDefine( <nId>, bSETGET(<cVar>),;
<aItems>, <oWnd>, <nHelpId>, <{uValid}>, [{|Self|<uChange>}],;
<nClrText>, <nClrBack>, <cMsg>, <.update.>, <{uWhen}>,;
<acBitmaps>, [{|nItem|<uBmpSelect>}], <nStyle>, <cPicture>,;
[<{uEChange}>] )

Por lo que mi pregunta ahora es como se puede cambiar el estilo y el estilo extra de la ComboBox desde código, algo así como:

xPul16:nStyle(CBS_DROPDOWNLIST)
xPul16:nExStyle(WS_EX_LEFTSCROLLBAR)
Colt Hop ED, S.L.
Carlos Blas Fernández Domínguez
Tlfo: 645847093
E-Mail: carlos@colthop.es

Nunca se termina de aprender, por eso necesito siempre ayuda.
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: ComboBox
Posted: Thu Aug 27, 2015 02:07 PM
Carlos, en mi version de Fivewin, en el Fivewin.ch, aparece

Code (fw): Select all Collapse
#xcommand @ <nRow>, <nCol> COMBOBOX [ <oCbx> VAR ] <cVar> ;
             [ <it: PROMPTS, ITEMS> <aItems> ] ;
             [ SIZE <nWidth>, <nHeight> ] ;
             [ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
             [ <help:HELPID, HELP ID> <nHelpId> ] ;
             [ ON CHANGE <uChange> ] ;
             [ VALID <uValid> ] ;
             [ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
             [ <pixel: PIXEL> ] ;
             [ FONT <oFont> ] ;
             [ <update: UPDATE> ] ;
             [ MESSAGE <cMsg> ] ;
             [ WHEN <uWhen> ] ;
             [ <design: DESIGN> ] ;
             [ BITMAPS <acBitmaps> ] ;
             [ ON DRAWITEM <uBmpSelect> ] ;
             [ STYLE <nStyle> ] ;
             [ <pict: PICT, PICTURE> <cPicture> ];
             [ ON EDIT CHANGE <uEChange> ] ;
             [ HEIGHTGET <nHGet> ] ;
       => ;
          [ <oCbx> := ] TComboBox():New( <nRow>, <nCol>, bSETGET(<cVar>),;
             <aItems>, <nWidth>, <nHeight>, <oWnd>, <nHelpId>,;
             [{|Self|<uChange>}], <{uValid}>, <nClrText>, <nClrBack>,;
             <.pixel.>, <oFont>, <cMsg>, <.update.>, <{uWhen}>,;
             <.design.>, <acBitmaps>, [{|nItem|<uBmpSelect>}], <nStyle>,;
             <cPicture>, [<{uEChange}>], [<(oCbx)>], <nHGet> )

#xcommand REDEFINE COMBOBOX [ <oCbx> VAR ] <cVar> ;
             [ <items: PROMPTS, ITEMS> <aItems> ] ;
             [ ID <nId> ] ;
             [ <dlg:OF,WINDOW,DIALOG> <oWnd> ] ;
             [ <help:HELPID, HELP ID> <nHelpId> ] ;
             [ ON CHANGE <uChange> ] ;
             [ VALID   <uValid> ] ;
             [ <color: COLOR,COLORS> <nClrText> [,<nClrBack>] ] ;
             [ <update: UPDATE> ] ;
             [ MESSAGE <cMsg> ] ;
             [ WHEN <uWhen> ] ;
             [ BITMAPS <acBitmaps> ] ;
             [ ON DRAWITEM <uBmpSelect> ] ;
             [ STYLE <nStyle> ] ;
             [ <pict: PICT, PICTURE> <cPicture> ];
             [ ON EDIT CHANGE <uEChange> ] ;
       => ;
          [ <oCbx> := ] TComboBox():ReDefine( <nId>, bSETGET(<cVar>),;
             <aItems>, <oWnd>, <nHelpId>, <{uValid}>, [{|Self|<uChange>}],;
             <nClrText>, <nClrBack>, <cMsg>, <.update.>, <{uWhen}>,;
             <acBitmaps>, [{|nItem|<uBmpSelect>}], <nStyle>, <cPicture>,;
             [<{uEChange}>] )


Lo que no hay es claúsula para nExStyle ( como creo que en ningun control )
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: ComboBox
Posted: Thu Aug 27, 2015 04:00 PM
colthop wrote:Hola Cristóbal y Jose Luis:

En primer lugar comentarle a Cristóbal que hecho pruebas con lo que me dijiste ayer y si sino lo pongo me pone NIL como a José Luis y si lo pongo me pone "16384" pero he cambiado el Style y en vez de 0x00004000 puse 0x00000000 que es otro que pone en la página del enlace y me sigue poniendo !16384" cambie a dos o tres números y seguía poniendo el mismo numero. Parece que no lo coge.

Por otra parte pediría a Jose Luis que si puede hacer dos capturas de la ComboBox en el programa una abierta y la otra cerrada. Para ver el resultado.

Un saludo

Carlos

Carlos , aca te agrega las imagenes solicitadas, lo que en si no entiendo que quieres conseguir ya que no importa donde yo coloque la felchita, igual mis opciones salen del lado izquierdo, no se si es que no entendi bien tu requerimiento...saludos

[img]http://s2.subirimagenes.com/otros/previo/thump_9453602comboboxcerrado.jpg" alt="" loading="lazy">




[/img]
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: ComboBox
Posted: Thu Aug 27, 2015 04:16 PM
Carlos, Navarro, si esto es lo que le esta pasando al colega, el causante es la calusula RIGHT del Extended window styles, ya que haciendo pruebas fue que me sucedio lo que creo le pasa al Carlos, saludos... :-)

[img]http://s2.subirimagenes.com/imagen/previo/thump_9453639comboright1.png" alt="" loading="lazy">




[/img]

Aca este el .rc de una prueba

TEXTO A LA DERECHA, FLECHITA A LA IZQUIERDA
Code (fw): Select all Collapse
// RESOURCE SCRIPT generated by "Pelles C for Windows, version 8.00".

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

1001 DIALOGEX DISCARDABLE 6, 18, 278, 182
STYLE DS_SHELLFONT|WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Dialog"
FONT 8, "Tahoma", 0, 0, 1
{
  CONTROL "", 4001, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL|WS_TABSTOP, 40, 28, 184, 40, WS_EX_RIGHT
}


TEXTO A LA IZQUIERDA, FLECHITA A LA IZQUIERDA
Code (fw): Select all Collapse
// RESOURCE SCRIPT generated by "Pelles C for Windows, version 8.00".

#include <windows.h>
#include <commctrl.h>
#include <richedit.h>

LANGUAGE LANG_ENGLISH,SUBLANG_ENGLISH_US

1001 DIALOGEX DISCARDABLE 6, 18, 278, 182
STYLE DS_SHELLFONT|WS_POPUP|DS_MODALFRAME|DS_CONTEXTHELP|DS_3DLOOK|WS_CAPTION|WS_SYSMENU|WS_VISIBLE
CAPTION "Dialog"
FONT 8, "Tahoma", 0, 0, 1
{
  CONTROL "", 4001, "ComboBox", WS_BORDER|CBS_DROPDOWNLIST|CBS_SORT|WS_VSCROLL|WS_TABSTOP, 40, 28, 184, 40
}


CARLOS, revisa si tu diseño esta asi, ya que el WS_EX_LEFT es el que alinea el contenido del combobox:

Code (fw): Select all Collapse
COMBOBOX        150, 24, 132, 78, 14, CBS_DROPDOWN | CBS_HASSTRINGS, [b]WS_EX_LEFT[/b] | WS_EX_LEFTSCROLLBAR


No se si eso ayudara en algo, esperemos que si, saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!
Posts: 2064
Joined: Fri Jan 06, 2006 09:28 PM
Re: ComboBox
Posted: Thu Aug 27, 2015 04:29 PM
Aprovechando el tema, creo que hay manera de agregar imagenes como opciones en combobox, hay algun sample de como hacerlo.? si alguien tiene un ejemplo o alguna sugerencia, gracias, saludos... :-)
Dios no está muerto...



Gracias a mi Dios ante todo!

Continue the discussion