Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.04;
Скачать: CL | DM;

Вниз

Кнопка на 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 вся ветка

Текущий архив: 2007.02.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
15-1168800324
Джо
2007-01-14 21:45
2007.02.04
Выбор «воздушки»


15-1168978499
Bolek
2007-01-16 23:14
2007.02.04
Сборка ConnectionString


5-1148215072
ychenick
2006-05-21 16:37
2007.02.04
ValueListEditor сохраняем структуру дерева


2-1169397954
koha
2007-01-21 19:45
2007.02.04
какой метод сжатия использует ZLib.pas


15-1169036653
IMHO
2007-01-17 15:24
2007.02.04
Долевое строительство