Составители:
в ответ на сообщение WM_CREATE
происходит инициализация таймера, после
чего генерируется сообщение WM_SIZE,
позволяющее установить размеры и
положение окна данного экземпляра.
Подпрограмма обработки сообщения WM_TIMER
- это первое место, где
происходит вызов DDE-функций. Она начинается с обновления переменной
LocalStock:
case WM_TIMER:
if( random( 2 ) )
LocalStock += random( 100 );
else
LocalStock -= min( (UINT) random) 100 ), LocalStock );
DataOut = ( iInst << 24 ) + LocalStock;
Далее происходит обновление переменной DataOut, которая задает
пользовательский формат данных, предназначенный для передачи. Значение
переменной образуется путем размещения номера экземпляра приложения iInst
в старшем байте старшего слова, а переменной LocalStock - в младшем слове,
Когда данные готовы, выполняется функция DdePostAdvise,
уведомляющая другие приложения о наличии данных. Передаваемое
сообщение принимается другими участниками диалога с помощью функции
DdeCallback в виде транзакции XTYP_ADVDATA.
DdePostAdvise( idInst, hszAppName, hszAppName );
SetRect( &rc, 0, 0, cxText, cyText );
InvalidateRect( hwnd, &rc, TRUE ) ;
UpdateWindow( hwnd ) ;
break;
После выдачи DDE-транзакции экземпляр приложения передает
инструкции для обновления своего собственного окна, чтобы отобразить в нем
новые данные.
Транзакцию подключения можно также выполнить в ответ на сообщение
WM_PAINT.
case WM_PAINT:
... // подсчет числа участников
if( hConvList )
{
hConv = DdeQueryNextServer( hConvList, 0 );
while ( hConv )
{
ciData.cb = sizeof(CONVINFO);
DdeQueryConvInfo( hConv, QID_SYNC, &ciData );
63
в ответ на сообщение WM_CREATE происходит инициализация таймера, после
чего генерируется сообщение WM_SIZE, позволяющее установить размеры и
положение окна данного экземпляра.
Подпрограмма обработки сообщения WM_TIMER - это первое место, где
происходит вызов DDE-функций. Она начинается с обновления переменной
LocalStock:
case WM_TIMER:
if( random( 2 ) )
LocalStock += random( 100 );
else
LocalStock -= min( (UINT) random) 100 ), LocalStock );
DataOut = ( iInst << 24 ) + LocalStock;
Далее происходит обновление переменной DataOut, которая задает
пользовательский формат данных, предназначенный для передачи. Значение
переменной образуется путем размещения номера экземпляра приложения iInst
в старшем байте старшего слова, а переменной LocalStock - в младшем слове,
Когда данные готовы, выполняется функция DdePostAdvise,
уведомляющая другие приложения о наличии данных. Передаваемое
сообщение принимается другими участниками диалога с помощью функции
DdeCallback в виде транзакции XTYP_ADVDATA.
DdePostAdvise( idInst, hszAppName, hszAppName );
SetRect( &rc, 0, 0, cxText, cyText );
InvalidateRect( hwnd, &rc, TRUE ) ;
UpdateWindow( hwnd ) ;
break;
После выдачи DDE-транзакции экземпляр приложения передает
инструкции для обновления своего собственного окна, чтобы отобразить в нем
новые данные.
Транзакцию подключения можно также выполнить в ответ на сообщение
WM_PAINT.
case WM_PAINT:
... // подсчет числа участников
if( hConvList )
{
hConv = DdeQueryNextServer( hConvList, 0 );
while ( hConv )
{
ciData.cb = sizeof(CONVINFO);
DdeQueryConvInfo( hConv, QID_SYNC, &ciData );
63
Страницы
- « первая
- ‹ предыдущая
- …
- 61
- 62
- 63
- 64
- 65
- …
- следующая ›
- последняя »
