API o similar

27/01/2005 - 01:53 por Marino Posadas | Informe spam
Hola a todos

Un amiguete necesita saber cómo se puede cambiar mediante código la opción
del Escritorio "Organizar Iconos/Alinear a la cuadrícula". ¿Alguna idea?

Gracias

Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

Preguntas similare

Leer las respuestas

#11 Hernán
28/01/2005 - 02:10 | Informe spam
Ramón Sola [MVP Windows - Shell/User]
escribía:

Hash: SHA1

[Respondiendo desde microsoft.public.es.windowsxp]
El escritorio no es más que un control ListView. Si analizas el tráfico de
mensajes en el escritorio con la herramienta Spy++ de Visual Studio .NET
2003 al ir probando las opciones de ajuste a la cuadrícula y organización
automática, quizá te lleves más de una sorpresa. ;-)

Un adelanto: Al activar ajuste a cuadrícula, se establece un código de
estilo extendido *no documentado en MSDN* del control ListView,
LVS_EX_SNAPTOGRID, y se manda un mensaje LVM_ARRANGE con wParam >LVA_SNAPTOGRID y lParam = 0. Cuando se desactiva el ajuste, se quita el
estilo extendido LVS_EX_SNAPTOGRID.

De acuerdo con Google,
Const LVS_EX_SNAPTOGRID = &H80000

Confirmado por el CommCtrl.h del Platform SDK:
#define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to
grid.



La pregunta sería, existe alguna función con la que acceder al handle
del listview, o sólo cochinadas como [Child]WindowFromPoint(), o
hardcodeo como en el ejemplo de Valdov...

Hernán
Respuesta Responder a este mensaje
#12 Hernán
28/01/2005 - 02:10 | Informe spam
Ramón Sola [MVP Windows - Shell/User]
escribía:

Hash: SHA1

[Respondiendo desde microsoft.public.es.windowsxp]
El escritorio no es más que un control ListView. Si analizas el tráfico de
mensajes en el escritorio con la herramienta Spy++ de Visual Studio .NET
2003 al ir probando las opciones de ajuste a la cuadrícula y organización
automática, quizá te lleves más de una sorpresa. ;-)

Un adelanto: Al activar ajuste a cuadrícula, se establece un código de
estilo extendido *no documentado en MSDN* del control ListView,
LVS_EX_SNAPTOGRID, y se manda un mensaje LVM_ARRANGE con wParam >LVA_SNAPTOGRID y lParam = 0. Cuando se desactiva el ajuste, se quita el
estilo extendido LVS_EX_SNAPTOGRID.

De acuerdo con Google,
Const LVS_EX_SNAPTOGRID = &H80000

Confirmado por el CommCtrl.h del Platform SDK:
#define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to
grid.



La pregunta sería, existe alguna función con la que acceder al handle
del listview, o sólo cochinadas como [Child]WindowFromPoint(), o
hardcodeo como en el ejemplo de Valdov...

Hernán
Respuesta Responder a este mensaje
#13 Marino Posadas
28/01/2005 - 02:30 | Informe spam
Hola Ramón y Hernán

Gracias a ambos, y sobre todo a tí Ramón, por el pedazo de código. Como digo
no estoy yo en este momento con ese tema, sino que es de alguien más, pero
buen amigo. Se lo voy a pasar, que tiene buena pinta.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Ramón Sola [MVP Windows - Shell/User]"
escribió en el mensaje news:%
Hash: SHA1

[Respondiendo desde microsoft.public.es.windowsxp]
El escritorio no es más que un control ListView. Si analizas el tráfico de
mensajes en el escritorio con la herramienta Spy++ de Visual Studio .NET
2003 al ir probando las opciones de ajuste a la cuadrícula y organización
automática, quizá te lleves más de una sorpresa. ;-)

Un adelanto: Al activar ajuste a cuadrícula, se establece un código de
estilo extendido *no documentado en MSDN* del control ListView,
LVS_EX_SNAPTOGRID, y se manda un mensaje LVM_ARRANGE con wParam > LVA_SNAPTOGRID y lParam = 0. Cuando se desactiva el ajuste, se quita el
estilo extendido LVS_EX_SNAPTOGRID.

De acuerdo con Google,
Const LVS_EX_SNAPTOGRID = &H80000

Confirmado por el CommCtrl.h del Platform SDK:
#define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to
grid.

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

"Marino Posadas" escribió en el mensaje
news:%
Hola

Muchas gracias, Valdov. Verás, no quería poner el código fuente aquí
para no fastidiar, por que se supone que esto es para responder a
preguntas o dudas puntuales que surgen cuando uno ya ha trabajado un
tema (ya sabes a qué me refiero..)). El código es de un médico amigo mio
(hay medicos así...) que ha hecho una aplicación en VB -pero todo con
API's- que recoge a voluntad todos los iconos del escritorio -con sus
posiciones- y permite eliminarlos para cargar otro juego distinto de
iconos (recuperando sus posiciones). Todo esto le funciona, pero le
casca cuando la opción "Alinear a la Cuadrícula" de los iconos del
Escritorio está desactivada y se activa posteriormente, quizá por que no
pueden superponerse las posiciones de los iconos.
Enfin, gracias de nuevo y si se os ocurre algo, será bienvenido.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net






Respuesta Responder a este mensaje
#14 Marino Posadas
28/01/2005 - 02:30 | Informe spam
Hola Ramón y Hernán

Gracias a ambos, y sobre todo a tí Ramón, por el pedazo de código. Como digo
no estoy yo en este momento con ese tema, sino que es de alguien más, pero
buen amigo. Se lo voy a pasar, que tiene buena pinta.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net

"Ramón Sola [MVP Windows - Shell/User]"
escribió en el mensaje news:%
Hash: SHA1

[Respondiendo desde microsoft.public.es.windowsxp]
El escritorio no es más que un control ListView. Si analizas el tráfico de
mensajes en el escritorio con la herramienta Spy++ de Visual Studio .NET
2003 al ir probando las opciones de ajuste a la cuadrícula y organización
automática, quizá te lleves más de una sorpresa. ;-)

Un adelanto: Al activar ajuste a cuadrícula, se establece un código de
estilo extendido *no documentado en MSDN* del control ListView,
LVS_EX_SNAPTOGRID, y se manda un mensaje LVM_ARRANGE con wParam > LVA_SNAPTOGRID y lParam = 0. Cuando se desactiva el ajuste, se quita el
estilo extendido LVS_EX_SNAPTOGRID.

De acuerdo con Google,
Const LVS_EX_SNAPTOGRID = &H80000

Confirmado por el CommCtrl.h del Platform SDK:
#define LVS_EX_SNAPTOGRID 0x00080000 // Icons automatically snap to
grid.

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

"Marino Posadas" escribió en el mensaje
news:%
Hola

Muchas gracias, Valdov. Verás, no quería poner el código fuente aquí
para no fastidiar, por que se supone que esto es para responder a
preguntas o dudas puntuales que surgen cuando uno ya ha trabajado un
tema (ya sabes a qué me refiero..)). El código es de un médico amigo mio
(hay medicos así...) que ha hecho una aplicación en VB -pero todo con
API's- que recoge a voluntad todos los iconos del escritorio -con sus
posiciones- y permite eliminarlos para cargar otro juego distinto de
iconos (recuperando sus posiciones). Todo esto le funciona, pero le
casca cuando la opción "Alinear a la Cuadrícula" de los iconos del
Escritorio está desactivada y se activa posteriormente, quizá por que no
pueden superponerse las posiciones de los iconos.
Enfin, gracias de nuevo y si se os ocurre algo, será bienvenido.


Saludos cordiales
Marino Posadas
MVP Visual C#

www.ElAveFenix.net






Respuesta Responder a este mensaje
#15 Ramón Sola [MVP Windows - Shell/User]
28/01/2005 - 04:00 | Informe spam
Hash: SHA1

[Respondiendo desde microsoft.public.es.windowsxp]

Buena pregunta...

Ramón Sola / / MVP Windows - Shell/User
Para obtener la dirección correcta no hacen falta los sellos.
Por favor, usar el correo sólo para cuestiones ajenas a los
grupos de noticias, gracias.

<Hernán> escribió en el mensaje
news:
La pregunta sería, existe alguna función con la que acceder al handle
del listview, o sólo cochinadas como [Child]WindowFromPoint(), o
hardcodeo como en el ejemplo de Valdov...

Hernán

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida