Главная страница
    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.086 c
2-1168772080
Garacio
2007-01-14 13:54
2007.02.04
в ListView правильно SubItems.add или SubItems.Strings


4-1158830774
2ded
2006-09-21 13:26
2007.02.04
JOB_INFO_1 PagesPrinted


2-1169115004
sergeyst
2007-01-18 13:10
2007.02.04
Массив


2-1169099675
Garacio
2007-01-18 08:54
2007.02.04
изменить/вернуть обратносистемную дату с помощью DateTimePicker


15-1169017524
vajo
2007-01-17 10:05
2007.02.04
подскажите настройку интернет экплоэра





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