Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ivanyuk_Zvit.docx
Скачиваний:
9
Добавлен:
12.05.2015
Размер:
1.59 Mб
Скачать

Практична робота 13 Програми для роботи з глобальними ідентифікаторами Screen, Mouse, Application

Завдання 13.1

Користуючись глобальним об’єктом Screen при своєму завантаженні виконуватиме перевірку розміру екрана монітору і при перевищенні формою цього розміру автоматично прирівнюватиме до нього, а також виводитиме у компонент ComboBox1 список всіх шрифтів даного комп’ютера.

Користуючись глобальним об’єктом Mouse у StatusBar виводити поточні координати курсору миші відносно форми та екрану. А також при натисненні на кнопку виконуватиме реверсну зміну кнопок миші.

Користуючись властивостями компоненту ApplicationEvents, при наведенні мишею на будь-який компонент на формі у StatusBar виводився текст підказки закладений у властивість Hint кожного компонента.

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

int i = 0;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::FormShow(TObject *Sender)

{

Label2->Caption = IntToStr(Screen->Width) + ";" + IntToStr(Screen->Height);

ComboBox1->Items = Screen->Fonts;

}

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

void __fastcall TForm1::FormResize(TObject *Sender)

{

Label4->Caption= IntToStr(Form1->ClientWidth) + ";" + IntToStr(Form1->ClientHeight);

int ScreenSize;

int FormSize;

ScreenSize = Screen->Height + Screen->Width;

FormSize = Form1->ClientHeight + Form1->ClientWidth;

if (FormSize > ScreenSize)

{

Form1->ClientWidth = Screen->Width;

Form1->ClientHeight = Screen->Height;

}

}

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

void __fastcall TForm1::FormMouseMove(TObject *Sender, TShiftState Shift,

int X, int Y)

{

TPoint pt;

GetCursorPos(&pt);

StatusBar1->Panels->Items[0]->Text = IntToStr(pt.x) + ";" + IntToStr(pt.y);

StatusBar1->Panels->Items[1]->Text = IntToStr(X) + ";" + IntToStr(Y);

}

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

void __fastcall TForm1::GroupBox2MouseMove(TObject *Sender,

TShiftState Shift, int X, int Y)

{

TPoint pt;

GetCursorPos(&pt);

StatusBar1->Panels->Items[0]->Text = IntToStr(pt.x) + ";" + IntToStr(pt.y);

StatusBar1->Panels->Items[1]->Text = IntToStr(X) + ";" + IntToStr(Y);

}

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

void __fastcall TForm1::GroupBox1MouseMove(TObject *Sender,

TShiftState Shift, int X, int Y)

{

TPoint pt;

GetCursorPos(&pt);

StatusBar1->Panels->Items[0]->Text = IntToStr(pt.x) + ";" + IntToStr(pt.y);

StatusBar1->Panels->Items[1]->Text = IntToStr(X) + ";" + IntToStr(Y);

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

switch (i)

{

case 0 : {SwapMouseButton(true);i++;break;}

case 1 : {SwapMouseButton(false);i--;break;}

}

}

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

void __fastcall TForm1::ApplicationEvents1Hint(TObject *Sender)

{

StatusBar1->SimpleText = Application->Hint;

}

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

Завдання 13.4

При натисненні клавіш Num Lock, Caps Lock, та Insert вивести у StatusBar стан кнопок.

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

#include <vcl.h>

#pragma hdrstop

#include "Unit2.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

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

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm2::FormCreate(TObject *Sender)

{

for (int i = 0; i < 3; i++)

{

StatusBar1->Panels->Add();

StatusBar1->Panels->Items[i]->Width = StatusBar1->Parent->Width/3;

}

}

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

void __fastcall TForm2::FormKeyUp(TObject *Sender, WORD &Key, TShiftState Shift)

{

switch (Key)

{

case VK_CAPITAL: StatusBar1->Panels->Items[0]->Text = (::GetKeyState(VK_CAPITAL)) ? "Caps Lock" : "";

break;

case VK_NUMLOCK: StatusBar1->Panels->Items[1]->Text = (::GetKeyState(VK_NUMLOCK)) ? "NumLock" : "";

break;

case VK_INSERT: StatusBar1->Panels->Items[2]->Text = (::GetKeyState(VK_INSERT)) ? "Insert" : "";

break;

}

}

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]