A Dialog


A Dialog

A dialog is a window that starts a dialog with the user to request some information. When the user completes the information the dialog ends and sends the information back to the program.
Un diálogo es una ventana que inicia un diálogo con el usuario para solicitar cierta información. Cuando el usuario completa la información el diálogo termina y envía la información al programa.

Problem 1
Create a program call People to create a list of people. Insert a list box and a button as shown in the figure below.
Cree un programa llamado Gente para crear una lista de personas. Inserte una list box y un botón como se muestra en la figura de abajo.

PeopleGui

Step A
In the menu: Tools > Add Wintempla Item... > Dialog Project > Add New Item... >Wintempla > Wintempla Dialog . Set the name to: PersonalDlg as show below. In the previous versions of Wintempla, you must use: Project > Add New Item... >Wintempla > Wintempla Dialog
En el menú: Tools > Add Wintempla Item... > Dialog . Fije el nombre en: PersonalDlg como se muestra debajo. En la versiones previas de Wintempla, usted debe usar: Project > Add New Item... >Wintempla > Wintempla Dialog

Step B
The wizard created a set of two files: PersonalDlg.h and PersonalDlg.cpp. Use Wintempla to edit the PersonalDlg GUI as shown.
El asistente creó un conjunto de dos archivos: PersonalDlg.h y PersonalDlg.cpp. Use Wintempla para editar la GUI de PersonalDlg como se muestra.

PersonalDlgGui

Step C
Edit the file PersonalDlg.h as shown below by changing the permissions on the GUI elements from private to public.
Edite el archivo PersonalDlg.h como se muestra abajo cambiando los permisos de los elementos GUI de privados a públicos.

PersonalDlg.h
#pragma once //_____________________________________________ PersonalDlg.h
#include "resource.h"

class PersonalDlg: public Win::Dialog
{
public:
     PersonalDlg()
     {
     }
     ~PersonalDlg()
     {
     }
public: //CHANGE THE PERMISSION FROM private TO public
     //______ Wintempla GUI manager section begin: DO NOT EDIT AFTER THIS LINE
     Win::Label lb1;
     ...
};


Step D
Edit the file PersonalDlg.cpp as shown below. The function (method) EndDialog ends (closes) the dialog, and return a numeric value to the parent of the dialog. This number is used to send information from the dialog to the main program. In this case, a value of one means that the user pressed the OK button; a value of zero means that the user canceled the operation.
Edite el archivo PersonalDlg.cpp como se muestra abajo. La función (método) EndDialog termina (cierra) el diálogo, y regresa un valor numérico al padre del diálogo. Este número es usado para enviar información desde el diálogo al programa principal. En este caso, un valor de uno significa que el usuario presionó el botón de OK; un valor de cero significa que el usuario canceló la operación.

PersonalDlg.cpp
#include "stdafx.h" //________________________ PersonalDlg.cpp
#include "PersonalDlg.h"

void PersonalDlg::Window_Open(Win::Event& e)
{
}

void PersonalDlg::btOK_Click(Win::Event& e)
{
     this->EndDialog(1);
}

void PersonalDlg::btCancel_Click(Win::Event& e)
{
     this->EndDialog(0);
}

Step E
Include the PersonalDlg.h file in the People.h file as shown below.
Incluya el archivo PersonalDlg.h en el archivo People.h como se muestra debajo

People.h
#pragma once //______________________________________ People.h
#include "resource.h"
#include "PersonalDlg.h" // YOU MUST ADD THIS LINE
class People: public Win::Dialog
{
public:
     People()
     {
     }
     ~People()
     {
     }
protected:
     ...
};

Step F
Edit the People.cpp file as shown. When the users presses the Add button, the BeginDialog function opens the dialog and the dialog begins until the user ends the dialog by pressing the OK or Cancel buttons.
Edite el archivo People.cpp como se muestra. Cuando el usuario presiona el botón de Add, la función BeginDialog abre el diálogo y el diálogo comienza hasta que el usuario termina el diálogo al presionar el botón de OK o de Cancel.

People.cpp
void People::Window_Open(Win::Event& e)
{
}

void People::btAdd_Click(Win::Event& e)
{
     PersonalDlg dlg;
     if (dlg.BeginDialog(hWnd) == 1)
     {
          wstring text;
          Sys::Format(text, L"%s (%d years)", dlg.tbxName.Text.c_str(), dlg.tbxAge.IntValue);
          lbxPeople.Items.Add(text);
     }
}

People

© Copyright 2000-2021 Wintempla selo. All Rights Reserved. Jul 22 2021. Home