Red de conocimiento informático - Material del sitio web - Código fuente mfc grande

Código fuente mfc grande

Continúe en el proyecto MFC AppWized(exe). Crea tu propia interfaz.

1.Agregue # include < math.h & gt

2. Agregue datos y funciones miembro a la clase CCalculatorDlg.

Número par 1, número 2;

int NumberState, OperationState

void cal();

Y en la construcción de CCalculatorDlg clase Agregar NumberState = 1 en la función

3. Agregar botón de mensaje afx _ msg void OnNumberKey(UINT nID);

afx _ msg void OnOperationKey(UINT nID); p>

4 Agregue código entre begin_MESSAGE_MAP(cmy 1 DLG, cdialog) y END_MESSAGE_MAP() en el archivo CalculatorDlg.cpp.

ON_COMMAND_RANGE(IDC_número 1, IDC_NUMBER10, OnNumberKey)

ON_COMMAND_RANGE (IDC_número 11, IDC_NUMBER20, OnOperationKey)

5. Agregue código para las funciones miembro de OnNumberKey y OnOperationKey.

calculadora nula DLG::OnNumberKey(UINT nID)

{

int n = 0;

Switch(nID)

p>

{

Caso IDC_número 1:n = 1;Pausa;

Caso IDC_número 2:n = 2;Pausa;

Caso número_IDC 3:n=3;Interrupción;

Caso Número_IDC 4:n=4;Interrupción;

Caso Número_IDC 5:n=5;Interrupción;

Caso IDC_número 6:n=6;Rotura;

Caso IDC_número 7:n=7;Rotura;

Caso IDC_número 8: n = 8; >

Caso IDC_número 9: n = 9; roto;

Caso IDC_número 10: n = 0;

}

if(estado digital) ==1)

{

m_resultado = m_resultado * 1n

número 1 = m_resultado;

<; p>update data(FALSE); //Actualiza el valor en el cuadro de edición

}

Otros

{

m _ resultado = m _ resultado * 1n;

número2 = m _ resultado

actualizar datos (FALSO);

}

}

calculadora nula DLG::OnOperationKey(UINT nID)

{

Switch(nID )

{

Caso IDC _ número 13:///" botón

estado de operación = 1;

actualizar datos(FALSE );

m_result = 0;

estado del número = 2;

Pausa;

Caso IDC_número 14:/ /* "Botón

estado de operación = 2;

actualizar datos(FALSO);

m _ resultado = 0;

estado del número = 2; p>Caso IDC_NUMBER15: // botón "+"

estado de operación = 3;

actualizar datos (FALSO); >

estado del número = 2;

Interrupción;

Caso IDC_número 16 ://-" botón

estado de operación = 4;

actualizar datos(FALSO);

m _ resultado = 0;

estado del número = 2;

Romper;

caso IDC _ número 17:// El botón "C", que se usa para deshacer, se puede eliminar si no es necesario.

Número 1 = número 2 = m _ resultado = 0;

actualizar datos(FALSE);

NumberState = 1; Break;

Caso IDC_NUMBER20: //" "Botón

cal(); //Llamar a la función miembro de cal

Break;

}

}

6. Agregar código para la función miembro cal()

void CCalculatorDlg::cal()

{

Interruptor (estado de operación)

{

Caso 1:

m _ resultado = (doble)número 1/número 2;

p>

update data(FALSE); //Actualiza el resultado en el cuadro de edición

número 1 = m _ resultado; //Usa el resultado de esta operación como el primero; operación del siguiente número de operación.

Estado del número = 2; //El número ingresado la próxima vez se utilizará como segundo operando.

Pausa;

Caso 2:

m _ resultado = número 1 * número 2;

actualizar datos (FALSO);/ /Actualizar el resultado en el cuadro de edición

número 1 = m_result;

número estado = 2;

Pausa;

Caso tres :

m_result = número 1+número 2;

actualizar datos(FALSE); //Actualiza el resultado en el cuadro de edición

número 1 = m_result;

número estado = 2;

Pausa;

Caso 4:

m_result = número 1-número 2;

update data(FALSE); //Actualiza el resultado en el cuadro de edición

número 1 = m_result;

número estado = 2;

Romper ;

}

estado de operación = 0;

}

Tenga en cuenta que el número de identificación del botón debe ser el mismo que el ¡Los números de identificación en el programa son consistentes! ! ! ! De lo contrario, algunos botones no responderán al hacer clic...