Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Вниз

BUTTON, STATIC и т.д.   Найти похожие ветки 

 
Юрий Ж.   (2003-11-02 11:48) [0]

На форме деляю STATIC и хочу менять его цвет при наведении мыши.
Подскажите какие надо обрабатывать сообжщения и где.
Т.е. в общем вопрос состоит втом как назначить STATIC или BUTTON процедуру обработки сообщений.
Заранее благодарен!
P.S.
Пишу на WinAPI!


 
Opuhshii   (2003-11-02 13:26) [1]

"какие надо обрабатывать сообжщения "
WM_MOUSEMOVE,WM_NCHITTEST
"как назначить процедуру обработки сообщений"
GetWindowLong/SetWindowLong


 
Opuhshii   (2003-11-02 13:28) [2]

"сообжщения "
WM_PAINT,.... много чего ещё,. ))


 
Nick Denry   (2003-11-02 15:37) [3]

Win32 SDK рулит.
Или на русском http://www.soobcha.ru/rushelp


 
Юрий Ж.   (2003-11-02 16:24) [4]

А можно пример....


 
DVM   (2003-11-02 17:29) [5]

WM_MOUSEMOVE, WM_MOUSELEAVE, WM_PAINT
> Т.е. в общем вопрос состоит втом как назначить STATIC или
> BUTTON процедуру обработки сообщений.

А она уже назначена. Это оконная процедура. Стандартную оконную процедуру надо переопределить на свою и там делай сто хошь.


 
Nick Denry   (2003-11-02 18:06) [6]

А можно пример....
Тебе уже и так много чего насоветоввали. ЖМИ F1


 
Юрий Ж.   (2003-11-03 00:49) [7]

Если назначаю STATIC процедуру обработки событий (обрабатываю WM_PAINT), то вся прога начинает подвисать.
Вот по-этому и прошу пример(может что не так назначаю или не с теми параметрами).


 
DVM   (2003-11-03 14:08) [8]


> Если назначаю STATIC процедуру обработки событий (обрабатываю
> WM_PAINT), то вся прога начинает подвисать.

приведите код, как Вы это делаете.


 
Юрий Ж.   (2003-11-03 21:15) [9]


{Процидура обработки сообщений}
function _WindowProc(Wnd:HWND; Msg : Integer; wParam:wParam; lParam:lParam):lResult;stdcall;
begin
WM_PAINT : MessaeBOx(0,"Hi!","www",MB_OK);
Result := DefWindowProc(wnd,msg,wParam,lParam);
end;
........................
St:=CreateWindowEx(0,"STATIC","Привет!",
WS_CHILD or WS_VISIBLE or SS_NOTIFY,0,0, 300,20,Parent,15,hInstance,nil);
SetWindowLong(St,GWL_WNDPROC,DWORD(@_WindowProc));
..........................


 
Suntechnic   (2003-11-03 21:42) [10]

>Юрий Ж. ©
Во-первых правильней вызывать не DefWindowProc, а старую процедуру, адрес которой предварительно надо сохранить.

Во-вторых это что ещё за MessaeBOx в теле процедуры? Ты себе хоть на секунду представил сколько сообщений будет послано в твою процедуру? Могу тебе обещать одно: задолбаешься кликать Ok

И последнее, для того чтобы сменить цвет при наведении мышки на контрол WM_PAINT обрабатывать совсем необязательно. WM_MOUSEMOVE + SetCapture(ReleaseCapture) + SetTextColor вполне достаточно.


 
Юрий Ж.   (2003-11-06 18:33) [11]

А можно по-конкрутнее про назначение цвета STATIC(примеры и т.д.)
или как пользоваться
WM_MOUSEMOVE + SetCapture(ReleaseCapture) + SetTextColo



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2004.01.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.012 c
1-25442
vasyaVN
2003-12-23 14:33
2004.01.09
Можно ли вообще избежать в TCustomControl отрисовки?


8-25453
CTAPbIi
2003-09-09 13:51
2004.01.09
Проигрывание TAnimate из ресурса -


1-25306
Мефодий
2003-12-22 22:09
2004.01.09
Эмуляция клика мыши в другой прогроамме


14-25523
Думкин
2003-12-19 05:34
2004.01.09
С днем рождения! 19 декабря.


14-25604
Nick-From
2003-12-19 13:29
2004.01.09
sophisticated DBcombobox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский