home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
- #include <vcl\vcl.h>
- #include <memory>
- #pragma hdrstop
-
- #include "FMain.h"
- //---------------------------------------------------------------------------
- #pragma link "UPTImageCombo"
- #pragma link "UPTFrame"
- #pragma resource "*.dfm"
- TFrmMain *FrmMain;
-
- //---------------------------------------------------------------------------
- TIcon* __fastcall GetIcon( HANDLE hInst, int id, int size, TIcon* icon )
- {
- icon->Handle = LoadImage( hInst, MAKEINTRESOURCE(id), IMAGE_ICON, size,size, 0 );
- return icon;
- }
- //---------------------------------------------------------------------------
- __fastcall TFrmMain::TFrmMain(TComponent* Owner)
- : TForm(Owner)
- {
- //-- Create image list and load 16x16 icons from resources
- TImageList* imglist = new TImageList(this);
- {
- std::auto_ptr<TIcon> i(new TIcon);
- imglist->AddIcon( GetIcon(HInstance, 100, 16, i.get()) );
- imglist->AddIcon( GetIcon(HInstance, 101, 16, i.get()) );
- imglist->AddIcon( GetIcon(HInstance, 102, 16, i.get()) );
- }
-
- //--Assign image list to image combo
- PTImageCombo1->ImageList = imglist;
-
- //--Fill the image combo with some data items, and associate a frame control with each entry
- TPTImageComboItem* item;
- item = PTImageCombo1->AddItem( "First Item", 0, 0 );
- item->Data = PTFrame1;
-
- item = PTImageCombo1->AddItem( "Second Item", 1, 1 );
- item->Data = PTFrame2;
-
- item = PTImageCombo1->AddItem( "Third Item", 2, 2 );
- item->Data = PTFrame3;
-
- item = PTImageCombo1->AddItem( "Fourth Item", 1, 1 );
- item->Data = PTFrame4;
-
- PTImageCombo1->ItemIndex = 0;
- }
- //---------------------------------------------------------------------------
- void __fastcall TFrmMain::PTImageCombo1SelEndOk(TObject *Sender)
- {
- TPTFrame* itemd = dynamic_cast<TPTFrame*>((TObject*)PTImageCombo1->ImageComboItem[PTImageCombo1->ItemIndex]->Data);
- if (itemd->Tag == 0) {
- itemd->Tag = 1;
- itemd->Color = clRed;
- }
- else {
- itemd->Tag = 0;
- itemd->Color = clBtnFace;
- }
- }
- //---------------------------------------------------------------------------
-