Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
navbuoy navbuoy is offline
Miembro
 
Registrado: mar 2024
Posts: 32
Poder: 0
navbuoy Va por buen camino
tablero con TImages error raro

Hola amigos, a ver si alguien pudiese darme alguna indicacion de porque esto falla

tengo una rutina que dibuja en pantalla un tablero de hexagonos pero en modo 2D, esto es dibujando alternado en 2 bucles for las casillas hexagonales pero en realidad es como si dibujase en una rejilla 2D en horizontal y vertical

la cuestion, es que estoy tratando de que cuando cliqueo en una de las casillas, resaltarla y eso (en plan como que esta seleccionada)

y el codigo en el OnMouseDown lo tengo asi

Código:
	// Busca celda
	bool found = false;
	int col, row;
	for (int y = 0; y < 17; y++)
	{
		for (int x = 0; x < 12; x++)
		{

					TPoint pos = PosPt(x, y);
			if (PtInRect(celda[x][y].rect, Point(X, Y)))
			{
				found = true;
				col = x;
				row = y;
				CELDA_SELECTED.x = x;
				CELDA_SELECTED.y = y;

				Caption = found ? String().sprintf(L"%d, %d", col, row) : String("<no>");
				break;
			}
		}
	}
la cuestion, es que las 2 primeras filas de arriba, las que corresponderian a coordenadas 1,1 - 2,1 , 3,1 etc es como si no las detectase, pero en el resto del tablero si las detecta...... alguien sabe porque pasa esto??? sin embargo la 0,0 si la detecta

la funcion PosPt es esta

Código:
//---------------------------------------------------------------------------
inline TPoint PosPt(int x, int y)
{
/* --> */  const int sx = 60, sy = 34; //separación
	return Point((y&1)*sx + x*sx*2, y*sy);
}
//---------------------------------------------------------------------------
añado una captura para que veais a que me estoy refiriendo del tablero de hexagonos


Última edición por navbuoy fecha: Hace 3 Semanas a las 19:00:02.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error muy raro con ntdll.dll moz_an Varios 8 05-01-2011 14:30:04
error raro 11_8_88 C++ Builder 1 03-12-2008 20:37:01
Un error raro..... Rafe Varios 3 28-07-2005 23:07:02
un error un poco raro merlin Conexión con bases de datos 2 19-07-2004 12:45:06


La franja horaria es GMT +2. Ahora son las 12:09:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi