Cita: 1) Como puedo hacer para guardar TODOS los datos de un list1
En las faq's hay unas rutinas para guardar/leer en y desde un archivo *.ini. También te podrían ser útiles la función GetSetting y el procedimiento SaveSetting.
Cita: 2) Donde puedo conseguir iconos y cursores
No tengo idea. Pero te puedo recomendar un software llamado MicroAngelo. Fácil de usar, permite crear íconos y cursores, con formatos de 16 y 256 colores, monocromáticos, TrueColor y XP. Además, es muy barato (unos $40 USD)
Cita: 3) Como puedo hacer para tener los botones,textbox,etc con el estilo que tienen los de xp
Necesitas dos cosas. Primero un archivo Manifest. Este es un archivo XML, que debe estar en el mismo directorio de tu aplicación (o compilado dentro de la misma). El manifest especifica que version de la librería comctrl32 deberá usar la aplicación. Para obtener los estilos ésta es la versión 6. El formato básico es el siguiente:
Código:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name="Compania.Nombre_Producto.Nombre_Aplicacion"
processorArchitecture="x86"
version="7.0.2.99"
type="win32"/>
<description>Descripcion de la aplicacion</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="x86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
El archivo debe tener por nombre el nombre del ejecutable con la extensión .manifest es decir, que si tu programa se llama
ejecutable.exe, el manifest debe ser
ejecutable.exe.manifest
Y segundo: comctrl32.dll
Si solo tienes controles básicos (textbox, groupbox, command, check, option, scrolls, combobox y el list) esto te funcionará de maravilla sin cambio alguno en el exe. Pero si incluiste controles con MSCOMCTL.ocx y MSCOMCT2.ocx (Microsoft Common Controls 6); lamento decirte que estás frito. Parece que dichos controles no están basados en la librería comctrl32, y por lo tanto ignoran el manifest. Para que esos controles (ComboBoxEx, ListView, TreeView, etc) muestren el estilo XP, deberas usar el ocx Microsoft Common Controls 5 (ComCtl32 y ComCt232), que están implementados con la librería comctrl32.dll; o bien hacer tu propia implementación (necesitarás usar la API). Además de esto, tienes que asegurarte en tu código de que comctrl32.dll esta cargada e inicializada. Para esto tienes que llamar a las funciónes de la API InitCommonControls o InitCommonControlsEx.
Código:
'A nivel de módulo
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
'En el evento load antes que cualquier otro código o en Sub Main
InitCommonControls
4) Como inhabilitar el teclado
Si quieres que los objetos que acepten texto dejen de hacerlo en un form... Establece la propiedad KeyPreview del form a true. En el evento KeyPress asigna 0 a keyAscii:
Código:
Private Sub Form_KeyPress(KeyAscii As Integer)
KeyAscii = 0
End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Si quieres inhabilitar cualquier posibilidad de interacción con el teclado, tendrás que usar un Hook (con funciones de la API SetWindowsHookEx, CallNextHookEx y UnhookWindowsHookEx) pero no es nada simple de hacer.
Saludos.