Составители:
Получив дескриптор диалога, с помощью функции DdeQueryNextServer
можно запросить самую последнюю версию имеющихся данных.
Закончив чтение данных, снова вызвать функцию DdeQueryNextServer, на
этот раз используя в качестве аргумента дескриптор текущего диалога. В
результате возвращается дескриптор следующего диалога в списке. Цикл
продолжается до тех пор, пока список не завершится.
hConv = DdeQueryNextServer( hConvList, hConv );
}
}
Перед закрытием приложения всегда выдается сообщение WM_CLOSE,
ответом на которое обычно является вызов функции PostQuitMessage,
завершающей работу программы. Далее необходимо закрыть DDE-соединения,
а также об уничтожить локальный таймер.
case WM_CLOSE:
KillTimer( hwnd, TRUE ) ;
DdeDisconnectList( hConvList );
DdeNameService( idlnst, 0, 0, DNS_UNREGISTER ) ;
DdeFreeStringHandle( idInst, hszAppName );
DdeUninitialize( idInst );
PostQuitMessage( FALSE );
break;
Последовательность действий здесь такова: прежде всего нужно
разорвать связь, затем отменить регистрацию имени сервиса и освободить
строковый дескриптор, а затем отменить инициализацию DDE-подключения.
После выполнения всех этих операций приложение готово к завершению
работы.
6. Рассмотреть дополнительные операции в процедуре WndProc.
Наряду с
операциями, непосредственно связанными с DDE, в процедуре WndProc
происходит также обработка сообщений меню. В программе имеется два
подменю, Local и Global. В каждом из них содержится по две команды,
Resume и Pause. Команды меню Local инструктируют локальный экземпляр
приложения о необходимости либо возобновить работу в автоматическом
режиме, либо приостановить ее вообще.
Команды меню Global передают управление соответствующим
локальным командам, однако перед этим осуществляют широковещательную
передачу сообщений другим участникам диалога, инструктируя их о
необходимости либо возобновить работу, либо приостановить ее. Эта задача
выполняется с помощью функции Post-Transaction:
64
Получив дескриптор диалога, с помощью функции DdeQueryNextServer можно запросить самую последнюю версию имеющихся данных. Закончив чтение данных, снова вызвать функцию DdeQueryNextServer, на этот раз используя в качестве аргумента дескриптор текущего диалога. В результате возвращается дескриптор следующего диалога в списке. Цикл продолжается до тех пор, пока список не завершится. hConv = DdeQueryNextServer( hConvList, hConv ); } } Перед закрытием приложения всегда выдается сообщение WM_CLOSE, ответом на которое обычно является вызов функции PostQuitMessage, завершающей работу программы. Далее необходимо закрыть DDE-соединения, а также об уничтожить локальный таймер. case WM_CLOSE: KillTimer( hwnd, TRUE ) ; DdeDisconnectList( hConvList ); DdeNameService( idlnst, 0, 0, DNS_UNREGISTER ) ; DdeFreeStringHandle( idInst, hszAppName ); DdeUninitialize( idInst ); PostQuitMessage( FALSE ); break; Последовательность действий здесь такова: прежде всего нужно разорвать связь, затем отменить регистрацию имени сервиса и освободить строковый дескриптор, а затем отменить инициализацию DDE-подключения. После выполнения всех этих операций приложение готово к завершению работы. 6. Рассмотреть дополнительные операции в процедуре WndProc. Наряду с операциями, непосредственно связанными с DDE, в процедуре WndProc происходит также обработка сообщений меню. В программе имеется два подменю, Local и Global. В каждом из них содержится по две команды, Resume и Pause. Команды меню Local инструктируют локальный экземпляр приложения о необходимости либо возобновить работу в автоматическом режиме, либо приостановить ее вообще. Команды меню Global передают управление соответствующим локальным командам, однако перед этим осуществляют широковещательную передачу сообщений другим участникам диалога, инструктируя их о необходимости либо возобновить работу, либо приостановить ее. Эта задача выполняется с помощью функции Post-Transaction: 64
Страницы
- « первая
- ‹ предыдущая
- …
- 62
- 63
- 64
- 65
- 66
- …
- следующая ›
- последняя »