Главная страница
    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
1-25325
Samael6
2003-12-17 17:01
2004.01.09
Outlook Express COM Add-ins


1-25381
Den_PY
2003-12-25 07:24
2004.01.09
Socket


1-25321
denis24
2003-12-22 17:22
2004.01.09
переход с 5 на 6 делфи


14-25506
Gorlum
2003-12-16 16:44
2004.01.09
Расширение у файлов OutlookExpress


4-25669
reef
2003-11-07 16:32
2004.01.09
WriteFile и 1Mb массив





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