miércoles, 28 de diciembre de 2005

Problemas con los menús

Desde ayer a las 11 de la mañana que me levanté hasta ahora, no he dormido nada. Como verán en el post anterior, comenzé a programar el NekroEditor, pero he estado tan concentrado en los menús y tomado tanta Coca-Cola que no he dormido nada. Me quedé toda la madrugada intentando averiguar cómo es que se crea un menú en el registro. Para crear mis entradas de registro unos:

Call RegCreateKey(HKEY_CURRENT_USER, Ruta & "\Interfaz", Respuesta)

pero como la API de InsertMenuItem requiere de un tipo de datos MENUITEMINFO, no puedo crear variable tras variables As MENUITEMINFO porque eso haría un código enorme, como 10 líneas por cada menú y submenú que cree. Para eso necesito crear una función a la que llamaré: Crear_Menú() :P Soy muy creativo con los nombres, jaja.

Y le añadí unos 5 argumentos para pasarlos a la variable del tipo MENUITEMINFO; y fue precisamente en esa variable donde más me lié: no sabía bien qué valores poner y me trabé mucho con las propiedades .wID y .dwItemData, tanto para que al final ni suquiera se las puse porque resultó que son valores que asigna la máquina automáticamente ¡Ya se me hacía raro que MSDN no explicara nada más que su Application-defined value associated with the menu item o Application-defined 16-bit value that identifies the menu item! ¡Chale! Y yo que me quebré poco más de una hora adivinando qué me quería decir con eso, es decir, el modo en que se emplea, y es que soy tan necio que si no es porque consulté una página en internet que tenía eso traducido, quizá aun siguiera intentando descifrar el Código da Vinco oculto.

Cuando amanecí hoy en la mañana le seguí como hasta las 9 y media de la mañana, después apagué la computadora y me fui a jugar Mario una hora ¡Sí, señores: Super Mario Bros, el juego de Consola! Acabo de cooperar con un amigo para comprar una consola viejita que tenía Mario: y es que es el clásico de Nintendo.

Luego volví a encender este aparato del infierno para jugar Age of Mythology (ni me acuerdo de si gané o perdí, porque juego sin claves y casi todas mis partidas son iguales). Apagué la Pc y dormí un tiempo, no fue ni media hora.

Lo curioso de esta situación es que dormí porque tenía la mente bien cansada y débil, pero no tenía sueño ni ganas de dormir (que son dos cosas distintas). Dese hace como dos días que no tengo ganas de dormir.

Me paré, comí y volví a las andadas.

Con trabajo terminé la función para crear menús, después de tantas horas de sufrimiento mental y el haber borrado mil veces cada instrucción de código para corregirla. ¿Saben cómo me aseguré de que "la función sí funcionaba"? R= Creé un menú con el editor de menús de VB y luego probé mi función: sí lo agregó. Ahora el problema es mi la barra de menús que creé con la API, ¿recuerdan?, hMenú = CreateMenu; pues resulta que mi función de menú crea los menús cuando tengo la barra hecha con el editor de menús, pero no cuando la uso poniendo de hMenú al que yo hice. Sé que el problema no es mi función, sino mi barra de menús.

Otro problema es que mi función crea sólo menús, como lo pueden ser Archivo, Editar, Ver, etc., pero no submenús como Guardar cómo..., nuevo y los clásicos. Eso lo debo investigar.

Luego me harté y salí para ver unas películas, la de 4 hermanos está bien buena, me gustó mucho.

Y en la noche volví para... jugar Mythology un rato, escribirle un mail a mi padre felicitándolo por su cumpleaños, visitando el foro de Arwing y ahora estoy escribiendo este post. Luego ni sé lo que pienso hacer, quizá juege Mythology nuevamente.

Hilsen

No hay comentarios.:

Publicar un comentario