Форум: "WinAPI";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Внизмного форм несделать Найти похожие ветки
← →
AllDer (2006-02-08 19:01) [0]Несколько форм на АPi
Далаю как обычно в основной
function WindowProc
в main
делаю форму и
while(GetMessage(Msg,hWnd, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end; { with }
end.
Работает,еще форму №2 делаю в другом юните
очередь так
while GetMessage( Msg2, 0, 0, 0)
н0ль вместо хэндла формы №2 ,а если подставить хэндл,то плохо работает
Работает,еще форму №3 делаю в другом юните
в маин форму делаю , но не возможно ее перетащить
но очередь поставить GetMessage ,то ничего
не появляется форма1-3,
по F8 видно как отладчик застревает на первой строчке формы 1
и дальше неидет
Думаю грабли в обработке событий ?
У каждого окна должна быть конструкция GetMessage-TranslateMessage-DispatchMessage ?
← →
Anatoly Podgoretsky © (2006-02-08 19:10) [1]АПИ не поддерживает форм
← →
AllDer (2006-02-08 19:14) [2]имею виду по такому скелету
function WindowProc(hWnd, uMsg, wParam, lParam: Integer): Integer; stdcall;
....
BEGIN
with WinClass do
begin
RegisterClass(WinClass);
hWnd := CreateWindowEx(0, "Window","Window",
while(GetMessage(Msg,hWnd, 0, 0)) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end; { with }
end.
← →
Джо © (2006-02-08 19:18) [3]Вопрос (я так понял) в том — у каждого окна должна быть своя оконная процедура? Mostly, yes.
← →
begin...end © (2006-02-08 19:27) [4]А вот цикла обработки сообщений хватит и одного. Только вторым параметром в GetMessage нужно передавать ноль -- тогда из очереди будут выбираться сообщения, адресованные любому из окон текущего потока.
← →
AllDer (2006-02-08 19:36) [5]а помогло в основной ноль поставил,а
в третем окне вобще очередь убрал,
GetMessage-TranslateMessage-DispatchMessage
окно №3 двигается и работает ,не понятно как )
Спасибо
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c