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

Вниз

Кнопка на statusbar   Найти похожие ветки 

 
Феня   (2006-09-22 17:22) [0]

У меня на окне есть два компонета :statusbar и button.
..
Handle:=CreateWindowEx(0,"Form","ХХХ",$400000 or $10000000,219,116, 275,120,0,0,hInst nil);
...
StatusBar1:=CreateWindow("msctls_statusbar32",nil,$40000000 or $10000000,0,0,0,50,Handle,1,hInst,0);

если я напишу
..
Button3:=CreateWindow("Button","Exit",$40000000 or $10000000 or 0,  203,4,64,17,StatusBar1,0,0,nil);

то в нажатие на эту кнопку не обрабатывается кодом

..
while GetMessage(Msg,0, 0, 0) do
 begin
  TranslateMessage(Msg);
  DispatchMessage(Msg);
 end;

а если написать хендл главного окна, то все рабоает. Может кому то покажется этот вопрос смешным, но я не понимаю, где ошибка...


 
clickmaker ©   (2006-09-22 17:25) [1]


> $40000000 or $10000000

матерь божья... а чем WS_XXX не угодили?
по теме: кнопка шлет WM_COMMAND окну, на котором она лежит. Вот и думай. Где ты обрабатываешь WM_COMMAND?


 
Феня   (2006-09-22 17:30) [2]

ну просто как то привык так писать.....
у меня только (пока) одно окно и обрабатываю его

..
function WindowProc(hwnd, msg, wparam, lparam: longint): longint; stdcall;
begin
 Result := DefWindowProc(hwnd, msg, wparam, lparam);
 case Msg of
  $0111 :begin             //wm_command
               if (lParam = Bstart ) and (HiWord(wParam) = 0) then start;
               if (lParam = Button3) and (HiWord(wParam) = 0) then shutdown;
               if (lParam = BExit) and (HiWord(wParam) = 0) then ShowWindow(S_handle,  0);
              end;
  $0002 : ShutDown;       //wm_destroy
  $0113 : _timer;          //wm_timer

end;
end;


 
clickmaker ©   (2006-09-22 17:37) [3]


> [2] Феня   (22.09.06 17:30)

Для тех, кто в танке еще раз: если кнопка лежит на статусбаре, то и ловить WM_COMMAND от нее надо в WindowProc статусбара, а не главного окна.


 
Феня   (2006-09-22 17:41) [4]

а разве то, что я указал
..
while GetMessage(Msg,0, 0, 0) do

он ловит не все сообщения??


 
clickmaker ©   (2006-09-22 17:43) [5]


> [4] Феня   (22.09.06 17:41)

он-то ловит все. Но вся правда в волшебной строчке
DispatchMessage(Msg);


 
Феня   (2006-09-22 17:46) [6]

т.е? %-(


 
Ketmar ©   (2006-09-22 18:31) [7]

т.е. не надо больше писать на API, пока не проштудируешь соответствующую литературу. более того, после фразы "есть два компонента" и следующим за ней CreateWindowEx() вообще мало о чём можно говорить.


 
__Гость__   (2006-09-22 21:15) [8]

кетмар, что ты развопился как слон, которого смертельно ранили бананом???? Человек хочет научиться программировать на апи, а ты на него сразу налетаешь!!! он просто ошибся (вместо компонента  надо было написать элемента, и всего, а вони от тебя, как общественного туалета, который не убирали неделю). если ты такой умный, помоги ему, а если НЕТ, то тебе молчать надо (и книжки читать).

А тебе феня, удачи и не обращай внимания на некоторых участников, как говорится в семье не без.....


 
Ketmar ©   (2006-09-22 21:29) [9]

>[8] __Гость__ 22-Sep-2006, 21:15
поулыбался.



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

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

Наверх





Память: 0.46 MB
Время: 0.04 c
2-1168796943
Pasha L
2007-01-14 20:49
2007.02.04
Связь с интернетом. Что лучше использовать


15-1168936830
Petrovsky
2007-01-16 11:40
2007.02.04
Перестала работать отладка


15-1168695294
vitv
2007-01-13 16:34
2007.02.04
Автоматическое копирование образа


3-1163276025
_Ламер_
2006-11-11 23:13
2007.02.04
FROM .... JOIN .... = не догоняю


5-1147246180
Чапаев
2006-05-10 11:29
2007.02.04
Наследник TDataSet





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