Главная страница
    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.46 MB
Время: 0.01 c
14-25564
Dimich1978
2003-12-18 13:13
2004.01.09
Электроника 60


4-25663
Davinchi
2003-11-05 16:25
2004.01.09
Кнопки управления окном (свернуть,развернуть,закрвть) у MDIChild


14-25518
McSimm
2003-12-12 10:48
2004.01.09
Наш самолет на запасном пути? :)


14-25510
TJ
2003-12-15 11:35
2004.01.09
У меня спёрли мобилу, как найти ублюдка Кто знает емельте


14-25569
Думкин
2003-12-18 07:36
2004.01.09
С днем рождения! 18 декабря.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский