C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
PrintScreen, По поводу PrintScreen
Udman
  Отправлено: 02.09.2003, 22:28


Ученик-кочегар

Группа: Участник
Сообщений: 16



Уже писал! Были ответы. Но че-то все равно не работает! Вот что надо!! Есть прога. При её запуске фотографируется рабочий стол, и картинка с буфера вставляется в Image1. Вот исходник:

#include
#include
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
Image1->Picture->Assign(Clipboard());
Image1->Refresh();
}
//---------------------------------------------------------------------------


Что, где и как добавить для того чтобы фотографировало рабочий стол через PrintScreen, и из буфера помещало картинку в Image1?
Очень благодарен за любой ответ! smile.gif
Gedeon
Отправлено: 03.09.2003, 11:56


Ветеран

Группа: Модератор
Сообщений: 1742



Вот тебе работающий код:
CODE

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Clipbrd.hpp"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
   : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   WORD AFormat;
   int AData;
   HPALETTE APalette;

   keybd_event(VK_SNAPSHOT, 0, 0 ,0);
   Image1->Picture->CleanupInstance();
   Image1->Picture->Assign( Clipboard());

   //Image1->Refresh();

}
//---------------------------------------------------------------------------

Только у Image1 поставь свойство Align = AlNone, Autosize = true

Вернуться в Вопросы программирования в C++Builder