Tenga en cuenta que este ejemplo fue depurado en Delphi7.0
/////////////////////////////////////////////// /////////////////////
(I) Establecer un proyecto
Nuevos elementos-> Proyectos-> Aplicación MDI
(2) Rediseñe el subformador MDI - Childwin para realizar la imagen capturada que se muestra en Childwin.
Elimine el control Memo1 original en la forma de niño Childwin y agregue el control de la imagen, image1.align = Alclient.
Image1.aUtosize = ture significa que se muestra el tamaño original, y strech = false significa que no se muestra de acuerdo con el cuadro de objeto.
(Iii) Modificación de la interfaz principal
1) Eliminar elementos relacionados con pegar y nuevo en menú, barra de herramientas, acción de acción
2) Agregue PrinterSetUpdialog1 y Savedialog Control a MainForm.
Agregue el archivo/imprima del elemento del menú, el nombre del atributo es FilePrintitem;
Agregue el archivo del elemento del menú Archivo/Configuración de impresión, Propiedad habilitada = False, Nombre es FilePrintset;
Agregar elemento de menú Editar/Draw, su propiedad habilitada = false;
Agregue el elemento del menú Editar/Preferencias y configúrelo para crear Submenu;
Agregar elementos de menú Editar/Preferencias/Configuración;
Agregar elemento de menú Editar/Preferencias/Barra de herramientas, ITS Checked = True, Name = ToolBaritem;
Agregar imagen de menú;
Agregar elemento de menú Imagen/Capture Desktop;
Agregar imagen del elemento del menú/área de captura;
Agregue elementos de menú Imagen/Capture Windows o controles;
Agregar elemento de menú Imagen/icono de captura
Agregue cuatro botones de la barra de herramientas a la barra de herramientas, correspondiente a los cuatro elementos del menú en el menú Imagen.
Agregue cuatro acciones a ActionList: CPTDestop, CPTAREA, CPTWINDOWS, CPTICON;
Los atributos de acción de los cuatro elementos del menú en el menú Imagen corresponden a las cuatro acciones anteriores respectivamente;
Los atributos de acción de los cuatro botones de la barra de herramientas recientemente agregados corresponden a las cuatro acciones anteriores respectivamente.
3) Mover la implementación usa Childwin en la interfaz usos en la unidad principal.
Agregue SCRNCPT a los usos de la interfaz;
Agregar definición en el público de TmainForm:
Niño: tmdichild;
CaptureNum: entero;
Nombre de archivo: cadena;
DefaultDirectory: String;
4) Agregue la función privada en Tmainform: retraso del procedimiento (MSEC: Integer)
procedimiento tmainform.delay (msecs: integer);
var FirstTickCount: Longint;
Comenzar
FirstTickCount: = GetTickCount;
repetir
Comenzar
Aplicación.processMessages;
fin;
hasta ((getTickCount-FirstTickCount)> = longInt (msecs));
fin;
5) Modifique el proceso [tmainform.createmdichild]:
Eliminar variable var niño: tmdichild, agregar parámetro newfile
procedimiento tmainform.createmdichild (nombre const: string; newfile: boolean);
Comenzar
Child: = tmdichild.create (aplicación);
Child.Caption: = nombre;
if (no newfile) y (nombre <> '') entonces comience
Child.image1.picture.bitmap.loadFromFile (nombre);
Child.horzscrollbar.range: = child.image1.picture.width;
Child.vertscrollbar.range: = child.image1.picture.height;
fin;
fin;