como trabar combobox en delphi? necesito que el valor sea siempre el mismo

Iniciado por Fucko, 26 Julio 2011, 06:28 AM

0 Miembros y 1 Visitante están viendo este tema.

Fucko

Explico mejor:

tengo en un combobox:

Item1
Item2
Item3

y yo necesito que siempre se seleccione el Item2, y dejar "locked" el combobox.
es posible?

digamos que cada item, me llama a un comando distinto....

otra consulta...

es posible borrar tambien los "tabs" en un formulario?

gracias

saludos
Cree en los que buscan la verdad, duda de los que la han encontrado...

Shell Root

No es que conozca mucho ese lenguaje pero supongo que como todos deben de tener propiedades las cuales permita seleccionar un item al cargarlo, en este caso deberías de leer sobre ItemIndex.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Fucko

Gracias....

es un EXE compilado ya.......

no me aparece esa propiedad.....

solo aparece TOP, Width, Height, ItemHeight, OnChange (ComboBox1Change), Item.strings

y modificando el item.string, por el valor que yo quiero, no sirve.....

Cree en los que buscan la verdad, duda de los que la han encontrado...

Shell Root

Como que esta compilado? WTF!

Por ejemplo,
Código (delphi) [Seleccionar]
ComboBox1.ItemIndex := ComboBox1.Items.IndexOf('Opción a buscar para posicionarlo en el CamboBox1');
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Fucko

Sisi, es ing inversa este foro :D

quiero que un proceso se haga automatico....

por eso....
si tuviera el source, no me haría falta......

quiza dentro del form.create lo encuentre....

voy a ver de nuevo en un rato....

se aceptan ideas :)

gracias
Cree en los que buscan la verdad, duda de los que la han encontrado...

_Enko

Busca todas las rutinas de ComboBox.items.add() y las reemplazas por lo que necesites, por ejemplo un NOP y listo, no se añaden mas items al combobox.

Si mal no recuerdo, Items era una property de Tipo TStringList, así que si quieres inicializar el combobox con valores que tu quieras, tendras  llamar a Items.Clear() y luego Items.Add();
Todo eso, por supuesto en algun lugar que haya espacio vacio como para reemplazar las rutinas.

Saludos.

MCKSys Argentina

Fijhate que hace el evento que se ejecuta cuando seleccionas el item que quieres. Lo mas probable, es que este recuperando el valor del combo usando algun metodo.

Lo que puedes hacer entonces, es hacer que ese metodo siempre devuelva lo mismo (en ese lugar.. no?)

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Иōҳ

No conozco ese lenguaje, en asm lo hago así D:

en el procedimiento callback
primero en el mensaje de inicialización del DlgBox
obtengo el handle del combobox, luego lleno los items usando la api sendmessage

invoke SendMessage,hCombo,CB_ADDSTRING,0,offset lpstrSeparacion

Filtro el Mensaje WM_COMMAND, en la parte alta del DWORD filtro el mensaje de notificación CBN_SELCHANGE en la selección de un combox o listbox, para luego comparar si es el ID del combobox, y de esa manera actuar en el combobox seleccionado.

Tal vez, ese procedimiento puede que se haga en el callback o puede que implimente su "forma", aunque dudo que este usando apis para llenar los items, pero talvez si este usando los mismos mensajes de notificación. Ya queda mirar el proc callback y ver D=.

Nox
Eres adicto a la Ing. Inversa? -> www.noxsoft.net

Fucko

gracias a todos.... tema solucionado....

intenté todo lo que me dijeron, y lo que más facil me resultó fue hacer más o menos como dijo MCKSys....

con dede busqué el offset del boton, y busqué donde carga el valor del combo....

parchie el eax, y ya.....

muchas gracias :)

ahora solo me resta ver como ponerl el visible en false.....

pero no está para modificar en los editores de recursos... debe de poder hacerse via hexa, supongo :D

Cree en los que buscan la verdad, duda de los que la han encontrado...