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

Вниз

много форм несделать   Найти похожие ветки 

 
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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.028 c
2-1144742032
Khim
2006-04-11 11:53
2006.04.30
Хендл меню


1-1142963888
Dublicator
2006-03-21 20:58
2006.04.30
Выравнивание текста по ширине


2-1144744876
barakuda
2006-04-11 12:41
2006.04.30
Заменить буквы на цвет


2-1144901581
Rubey
2006-04-13 08:13
2006.04.30
Очистка таблицы


8-1133365011
Yozj
2005-11-30 18:36
2006.04.30
микширование на лету