C/Visual C - CAMBIAR COLOR A UN TEXTBOX

 
Vista:

CAMBIAR COLOR A UN TEXTBOX

Publicado por edu (4 intervenciones) el 21/02/2001 05:39:29
He intentado varias formas la primera....

SetBkColor(variable.GetDC(),RGB(0,0,0));

//Siendo variable el objeto CEdit

Me dice error debido a que no puedo pasar un * (PUNTERO) a SetBkColor

intente asi
HDC dc;
dc = varible.GetDC()

SetBkColor(dc,RGB(0,0,0));

Pero entonces me dice que como dc no es un puntero no puede hacer la
conversion... Bueno OBVIO y no puedo poner HDC* dc, por que le estaria
pasando a SetBkColor un puntero cosa que no se puede....

Entonces como hago para CAMBIAR EL COLOR de FONDO....

Y aprovechando la pregunta como se el HWND de un control cualquiera en este
caso de esta "variable" que extiende de la clase CEdit.

Gracias.
Atte.
Eduardo

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cambiar el color de fondo de un TextBox en MFC y obtener el HWND de un control

Publicado por Alejandro (913 intervenciones) el 05/09/2024 21:31:29
Hola Eduardo,

Para cambiar el color de fondo de un control TextBox en MFC (Microsoft Foundation Classes), puedes utilizar la función SetBackgroundColor. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
// Obtén el control HWND del objeto CEdit
HWND hWndEdit = variable.GetSafeHwnd();
 
// Crea un objeto CBrush con el color de fondo deseado
CBrush brush(RGB(0, 0, 0));
 
// Establece el color de fondo del control TextBox
::SetClassLongPtr(hWndEdit, GCLP_HBRBACKGROUND, (LONG_PTR)brush.GetSafeHandle());
 
// Invalida el control para que se repinte con el nuevo color de fondo
variable.Invalidate();

En este ejemplo, primero obtenemos el HWND del control TextBox utilizando la función GetSafeHwnd(). Luego, creamos un objeto CBrush con el color de fondo deseado (en este caso, negro). A continuación, utilizamos la función SetClassLongPtr para establecer el color de fondo del control TextBox. Finalmente, llamamos a la función Invalidate() para que el control se repinte con el nuevo color de fondo.

Espero que esto te ayude a cambiar el color de fondo de tu control TextBox en MFC.

¡Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar