1. Caption . 3 , . File/Save Project As. D:\ Lab_3 Lab_3_1 P_work_3 U_work_3.cpp.
2. Additional Image1, Image2 Image3 , . 3.
3. Image1 Image2 Cursor crHandPoint ().
4. OnCreate, .
5. Image1 OnMouseDown .
6. Image2 OnMouseDown ( ) .
7. SpeedButton1 OnClick, crHandPoint ().
8. Image Editor . :
8.1. Tools/ ImageEditor.
8.2. File/ Open .res. Resource.
8.3. Resource/ New/ Cursor, Cursor Cursor1.
8.4. Cursor1 Rename .
8.5. () .
8.6. File / Save , .
. 3
9. U_work_10.cpp :
/* U_work_3.cpp. */
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---
int pic1_On_Off, pic2_On_Off, pic3_On_Off, pic4_On_Off;
//---
TImage *PictK1;
TImage *PictP1;
TImage *PictIm3;
const int crLi = 1; //---
//---------------------------------------------------------------------------
|
|
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner)
{
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TImage *Pict = new TImage(Form1);
Pict->AutoSize = true;
// Image
Pict->Picture->LoadFromFile("Pic_1.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, Pict->Canvas,
Rect(0,0,Pict->Width,Pict->Height));
Pict->Picture->LoadFromFile("But1_On.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, Pict->Canvas,
Rect(0,0,Pict->Width,Pict->Height));
Pict->Picture->LoadFromFile("Image3.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, Pict->Canvas,
Rect(0,0,Pict->Width,Pict->Height));
pic1_On_Off = 1;
delete Pict;
//---
Screen->Cursors[crLi] = LoadCursor(HInstance,"LI");
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TImage *PictIm3 = new TImage(Form1); //---
PictIm3->AutoSize = true;
if((Sender == Image1) && (Screen->Cursor == crHandPoint))
Image1->Cursor = crLi; /* , Image Editor*/
else
{PictIm3->Picture->LoadFromFile("Image3.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X < Image1->Width / 2) && (Y < Image1->Height / 3))
{
PictIm3->Picture->LoadFromFile("LI.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X > Image1->Width / 2) && (X < 2*(Image1->Width / 2)) && (Y < Image1->Height / 3))
{
PictIm3->Picture->LoadFromFile("EI.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X < Image1->Width / 2) && (Y > Image1->Height / 3) && (Y < 2*(Image1->Height / 3)))
{
PictIm3->Picture->LoadFromFile("TI.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X > Image1->Width / 2) && (X < Image1->Width) && (Y > Image1->Height / 3)
&& (Y < 2*(Image1->Height / 3)))
{
PictIm3->Picture->LoadFromFile("GE.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X < Image1->Width / 2) && (Y > 2*(Image1->Height / 3)))
{
PictIm3->Picture->LoadFromFile("PI.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
|
|
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
if((X > Image1->Width /2) && (Y > 2*(Image1->Height / 3)) && (Y < Image1->Height))
{
PictIm3->Picture->LoadFromFile("GEK.bmp");
Image3->Canvas->CopyRect(Image3->ClientRect, PictIm3->Canvas,
Rect(0,0,PictIm3->Width,PictIm3->Height));
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image2MouseDown(TObject *Sender,
TMouseButton Button, TShiftState Shift, int X, int Y)
{
TImage *PictK1 = new TImage(Form1); /---/
PictK1->AutoSize = true;
TImage *PictP1 = new TImage(Form1); //---
PictP1->AutoSize = true;
switch(1+X /(Image2->Width /3) + 3*(Y /(Image2->Height/2)))
{
case 1: PictK1->Picture->LoadFromFile("But1_On.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic1_On_Off ==0) //---,
{
PictP1->Picture->LoadFromFile("Pic_1.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =1;pic2_On_Off =0;pic3_On_Off =0;pic4_On_Off =0;
}
break;
case 2: PictK1->Picture->LoadFromFile("But2_On.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic2_On_Off == 0) //--,
{
PictP1->Picture->LoadFromFile("Pic_2.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =0;pic2_On_Off =1;pic3_On_Off =0;pic4_On_Off =0;
}
break;
case 3: PictK1->Picture->LoadFromFile("But3_On.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic3_On_Off == 0) //---,
{
PictP1->Picture->LoadFromFile("Pic_3.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =0;pic2_On_Off =0;pic3_On_Off =1;pic4_On_Off =0;
}
break;
case 4: PictK1->Picture->LoadFromFile("But123_Off.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic4_On_Off == 0)//---,
{
PictP1->Picture->LoadFromFile("Pic_4.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =0;pic2_On_Off =0;pic3_On_Off =0;pic4_On_Off =1;
}
break;
case 5: PictK1->Picture->LoadFromFile("But123_Off.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic4_On_Off == 0) //---,
{
PictP1->Picture->LoadFromFile("Pic_4.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =0;pic2_On_Off =0;pic3_On_Off =0;pic4_On_Off =1;
}
break;
case 6: PictK1->Picture->LoadFromFile("But123_Off.bmp");
Image2->Canvas->CopyRect(Image2->ClientRect, PictK1->Canvas,
Rect(0,0,PictK1->Width,PictK1->Height));
if(pic4_On_Off == 0) //---,
{
PictP1->Picture->LoadFromFile("Pic_4.bmp");
Image1->Canvas->CopyRect(Image1->ClientRect, PictP1->Canvas,
|
|
Rect(0,0,PictP1->Width,PictP1->Height));
pic1_On_Off =0;pic2_On_Off =0;pic3_On_Off =0;pic4_On_Off =1;
}
}
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::SpeedButton1Click(TObject *Sender)
{
Screen->Cursor = crHandPoint;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
Screen->Cursor = crDefault;
}
//---------------------------------------------------------------------------
4
.
VCL
4-1
VCL | ||
TreeView ( ) | Win32 | Windows 95/98/2000 |
OutLine ( ) | Win3.1 | Windows 3. |
ListView ( Windows 95) | Win32 | Windows |
OpenDialog ( ) | Dialogs | |
FileListBox ( ) | Win3.1 | |
DirectoryListBox ( ) | Win3.1 | |
DriveComboBox ( ) | Win3.1 | |
CDirectoryOutline ( ) | Samples | , |
ListView Windows , , . Windows.
ViewStyle, . : vsIcon ; vsSmallIcon ; vsList ; vsReport . ListView Items. , , . BeginUpdate EndUpdate. , .