помогите кто может!!!!
От: denis  
Дата: 14.05.01 10:49
Оценка:
есть у меня Edit Control, как можно поменять в нем цвет текста???

бьюсь, бьюсь!!!

спасибо
Re: помогите кто может!!!!
От: Edward Россия  
Дата: 14.05.01 12:21
Оценка:
Здравствуйте denis, вы писали:

D>есть у меня Edit Control, как можно поменять в нем цвет текста???


D>бьюсь, бьюсь!!!


D>спасибо


WM_CTLCOLOREDIT для состояния Enabled
WM_CTLCOLORSTATIC для Disabled и ReadOnly состояний
Re[2]: я конечно извиняюсь (+)-
От: denis  
Дата: 15.05.01 03:57
Оценка:
Здравствуйте Edward, вы писали:

E>WM_CTLCOLOREDIT для состояния Enabled

E>WM_CTLCOLORSTATIC для Disabled и ReadOnly состояний

что-то я не могу разобраться с этим делом!!!
не могли бы Вы написать чуть подробнее. Мне нужно (например) по нажатию кнопки менять текст в "Edit Box".

спасибо!!!
Re[3]: я конечно извиняюсь (+)-
От: Odissey Россия http://malgarr.blogspot.com/
Дата: 15.05.01 04:45
Оценка:
Здравствуйте denis, вы писали:

D>Здравствуйте Edward, вы писали:


E>>WM_CTLCOLOREDIT для состояния Enabled

E>>WM_CTLCOLORSTATIC для Disabled и ReadOnly состояний

D>что-то я не могу разобраться с этим делом!!!

D>не могли бы Вы написать чуть подробнее. Мне нужно (например) по нажатию кнопки менять текст в "Edit Box".

D>спасибо!!!


Так цвет или текст или все вместе или как все таки это должно выглядеть?
Re[3]: я конечно извиняюсь (+)-
От: Edward Россия  
Дата: 15.05.01 07:05
Оценка:
Здравствуйте denis, вы писали:

D>Здравствуйте Edward, вы писали:


E>>WM_CTLCOLOREDIT для состояния Enabled

E>>WM_CTLCOLORSTATIC для Disabled и ReadOnly состояний

D>что-то я не могу разобраться с этим делом!!!

D>не могли бы Вы написать чуть подробнее. Мне нужно (например) по нажатию кнопки менять текст в "Edit Box".

D>спасибо!!!


bool g_ChangeColor = false;//глобальный флаг

BOOL CALLBACK MyDlgProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam )//обработчик сообщений диалога
{
switch( uMsg )
{
case WM_INITDIALOG:
{
//код и т.д.
return TRUE;
}
case WM_COMMAND:
{
switch( LOWORD( wParam ) )
{
case IDOK:
{
g_ChangeColor = !g_ChangeColor;
InvalidateRect( GetDlgItem( hwnd, IDEDIT/*ID EditControl'a*/), NULL, TRUE );
return TRUE;
}
}
return FALSE;
}

case WM_CTLCOLOREDIT:
{
if( GetDlgItem( hwnd, IDEDIT ) == ( HWND )lParam )
{
if( g_ChangeColor )
{
SetTextColor( ( HDC )wParam, RGB( 255, 0, 0 ) );
//SetBkColor( ( HDC )wParam, RGB( ... ); if needed
}
else
{
SetTextColor( ( HDC )wParam, RGB( 0, 0, 0 ) );
//SetBkColor( ( HDC )wParam, RGB( ... ); if needed
}
}
return 1;//если не надо изменять цвет заднего фона
/*
HBRUSH brush = CreateSolidBrush( RGB( ... ) );
return ( BOOL )brush;
*/
}
}

//много других полезных case'ов.............................
return FALSE;//прошу обратить внимание что это именно диалог а не окно
}

вот такой простенький примерчик
не забыть удалять HBRUSH для этого емо можно сделать глобальным и удалять перед созданием нового

best regards
Re[4]: спасибо большое (-)
От: denis  
Дата: 16.05.01 12:02
Оценка:
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.