Статьи по Assembler


Main.cpp для mycall (c++) - часть 3


//По состоянию списка conn_window формируются остальные списки

change_con();//


//ЦИКЛ ОЖИДАНИЯ СООБЩЕНИЙ

//Неотъемлемый элемент приложений для Windows. В MyCall никаких особенностей не имеет

MSG loop_message;

while (GetMessage(&loop_message,NULL,0,0)){TranslateMessage(&loop_message);DispatchMessage(&loop_message);}


//ЗАВЕРШЕНИЕ РАБОТЫ ПРИЛОЖЕНИЯ

//Поскольку MyCall собирается без runtime-библиотеки, для завершения работы

//обязательно использовать функцию ExitProcess, при этом оператор return оказывается

//недостижимым, но необходим по требованиям синтаксиса. Подробнее...

ExitProcess(loop_message.wParam);

return 0;

}


//ОКОННАЯ ПРОЦЕДУРА

//Стандартный элемент приложений для Windows. В MyCall особенностей не имеет.

/////////////////////////////////////////////////////////////// Оконная процедура

LRESULT CALLBACK superprocedure(HWND window_from,UINT message,WPARAM w_param,LPARAM l_param){

//Разбор и обработка оконных сообщений

switch(message){

//Обработка сообщения WM_COMMAND, передаваемого элементами управления диалога

case WM_COMMAND:

//Обработка уведомления CBN_SELCHANGE, передаваемого списками при изменении позиции:

//1000: список соединений conn_window. Изменяет содержание phon_window и user_window

//1001: список телефонов phon_window. Устанавливает новый телефон для текущего соединения con_phone[current_con]

//1002: список логинов user_window. Устанавливает новый логин для текущего соединения con_user[current_con]

if(HIWORD(w_param)==CBN_SELCHANGE){

switch (LOWORD(w_param)){

case 1000:

current_con=SendMessage(conn_window,CB_GETCURSEL,0,0);

if(current_con==CB_ERR){current_con=0;}

change_con();

return 0;

case 1001:

con_phone[current_con]=SendMessage(phon_window,CB_GETCURSEL,0,0);

if(con_phone[current_con]==CB_ERR){con_phone[current_con]=0;}

return 0;

case 1002:

con_user[current_con]=SendMessage(user_window,CB_GETCURSEL,0,0);

if(con_user[current_con]==CB_ERR){con_user[current_con]=0;}

return 0;

default:

break;




- Начало -  - Назад -  - Вперед -