Observe que este exemplo foi depurado em Delphi7.0
/////////////////////////////////////////////////////////Tipos /////////////////////////
(I) estabelecer um projeto
Novos itens-> Projetos-> Aplicativo MDI
(2) Redesenhe o Subforma MDI - Childwin para realizar a imagem capturada que está sendo exibida no Childwin.
Remova o controle original do MEMO1 no formulário ChildWin Child e adicione o controle da imagem, image1.align = alclient.
Image1.Autosize = Ture significa que o tamanho original é exibido e Strech = false significa que ele não é exibido de acordo com a caixa de objeto.
(Iii) modificação principal da interface
1) Remova os itens relacionados à pasta e novo em menu, barra de ferramentas, ActionList
2) Adicione o PrinterSetUpDialog1 e o Savedialog Control à Mainform.
Adicionar arquivo de item de menu/impressão, o nome do atributo é FilePrintItem;
Adicione o item do menu Arquivo/IMPRIMENTAÇÃO DE IMPRESSÃO, PROPRIEDADE ENFERELD = FALSO, NOME é FILEPRINTSET;
Adicione o item de menu Editar/desenhar, sua propriedade ativada = false;
Adicione o item de menu Editar/Preferências e defina -o para criar submenu;
Adicionar itens de menu Editar/Preferências/Configuração;
Adicione o item de menu Editar/preferências/barra de ferramentas, é verificado = true, nome = ferramentaBariTem;
Adicionar imagem do menu;
Adicione o Menu Item Imagem/Capture Desktop;
Adicionar área de imagem/captura do item de menu;
Adicione itens de menu Imagem/captura janelas ou controles;
Adicionar ícone de imagem/captura do item de menu
Adicione quatro botões da barra de ferramentas à barra de ferramentas, correspondendo aos quatro itens de menu no menu de imagem.
Adicione quatro ações à Lista de Ação: CPTDestop, Cptarea, CPTWindows, Cpticon;
Os atributos de ação dos quatro itens de menu no menu de imagem correspondem às quatro ações acima, respectivamente;
Os atributos de ação dos quatro botões da barra de ferramentas recém -adicionados correspondem às quatro ações acima, respectivamente.
3) A implementação do movimento usa o ChildWin em usos de interface na unidade principal.
Adicione o SCRNCPT aos usos da interface;
Adicione a definição no público do TMAINFORM:
Criança: Tmdichild;
Captenum: Inteiro;
Nome do arquivo: string;
DefaultDirectory: string;
4) Adicione a função privada no Tmainform: Atraso do procedimento (MSECS: Integer)
procedimento tmainform.delay (MSECS: INTERGER);
Var FirstTickCount: Longint;
Começar
FirstTickCount: = GetTickCount;
repita
Começar
Application.processmessages;
fim;
até ((getTickCount-FirstTickCount)> = longint (msecs));
fim;
5) Modifique o processo [tmainform.createmdichild]:
Remova variável var criança: tmdichild, adicione o parâmetro newFile
procedimento tmainform.createmdichild (const nome: string; newFile: boolean);
Começar
Filho: = tmdichild.create (aplicativo);
Child.Caption: = Name;
se (não newfile) e (nome <> '') então comece
Child.image1.picture.bitmap.loadfromfile (nome);
Child.horzscrollbar.range: = Child.image1.picture.width;
Child.vertscrollBar.Range: = Child.image1.picture.Height;
fim;
fim;