Rabu, 18 Maret 2009

Praktikum(1) Pengenalan MFC

Dalam praktikum Pengolahan Citra Digital yang pertama yang akan dipraktikumkan mengenai perkenalan MFC. Tujuan dari praktikum perkenalan MFC adalah

· Dapat membuat program pengolahan citra menggunakan Visual C++ dengan MFC.

· Dapat membuat dialog menggunakan Visual C++ dengan MFC.

Microsoft Foundation Classes atau MFC adalah sebuah library bagian dari Windows API dalam kelas C++. Dalam praktikum perkenalan MFC menggunakan IDE (Integrated Development Environtment). Komponen yang ada pada IDE antara lain :

Toolbox berisi Bermacam-macam control yang dapat digunakan di project Visual C++ (pada praktikum Citra yang biasa dipakai : picture,textbox, button,slider dsb).

Dialog Editor (MFC) merupakan area tempat membuat atau mengedit tampilan dialog box bukan form window.

Solution Explorer berfungsi menampilkan organisasi project yang dibuat

Class View berfungsi menampilkan simbol code project seperti : namespaces, classes, methods, dan functions.

Resource View berfungsi menampilkan resource file dari project.

Properties Window merupakan window yang dapat dipakai untuk mengedit atau merubah sifat control pada waktu disain.

Bila kita mendengar pengolahan citra digital pasti dipikiran kita akan terpikir bagaimana kita dapat merekayasa dari sebuah gambar, akan tetapi bila menurut pengertian yang lebih ilmiah pengolahan citra digital adalah suatu proses merubah dari gambar asli menjadi gambar lain yang sesuai dengan keinginan kita.

Bila kita buat blok diagramnya maka pengolahan citra digital seperti gambar dibawah :

Cara menjalankan Visual C++ dengan MFC :

Pertama kali yang dilakukan adalah membuka aplikasi Visual C++ 6.0 dengan cara


1. Pilih menu : Start->Programs Microsoft Visual Studio 6.0->Microsoft Visual C++ 6.0

2. Setelah Visual C++ telah terbuka langkah selanjutnya adalah memberi nama program. dengan cara Pilih menu : File->New->Projects->MFC AppWizard(exe) Isi Project name dan terakhir tekan tombol OK.

3. Kemudian kita akan memilih isi dari program yang akan kita buat.

Dengan cara :

• Step 1 :

(aplikasi apa yang ingin dibuat) pilih dialog based untuk membuat aplikasi memakai dialog. Tekan tombol Next.

• Step 2 :

1. (fitur apa saja yang akan dimasukkan) pilih About box dan 3D controls untuk pilihan standar.

2. (mendukung aplikasi apa ?) pilih ActiveX controls untuk pilihan standar.

3. apakah kamu ingin memasukkan WOSA ? Window Sockets tidak dipilih untuk pilihan standard.

4. Kemudian masukkan judul pada dialaog, Title sudah berisi text sama dengan nama project untuk pilihan standard, Tekan tombol Next.

• Step 3 :

1. Bentuk Project yang diinginkan ?

Pilihan standard dan yang aktif hanya MFC Standard.

2. Apakah kamu ingin mengenerate source file coment ? pilihan standard Yes, Please

3. Apakah kamu ingin menggunakan MFC Library ? pilihan standard As a shared DLL,

• Step 4 :

AppWizard creates the following classes for you

4. Cara menjalankan program• Pilih menu : Build->Execute (!) Tekan tombol Yes, untuk menutup aplikasi.



Cara Mendisain Dialog

1. Cara membuat dialog • Buat aplikasi AppWizard seperti pada praktikum 1 dan beri nama project dengan Dialog

• Pilih ResourceView pada workspace
• Pilih folder paling atas dengan cara klik pada tanda +
• Pilih folder dialog dengan cara klik pada tanda +
• Klik 2 kali IDD_DIALOG_DIALOG

2. Menghapus dan menambah kontrol pada dialog

Untuk menghapus control : aktifkan control dengan cara klik pada area control lanjutkan dengan menekan tombol delete. Cobalah untuk menghapus control : text TODO, button OK dan Cancel.

Untuk menambah control: (button) pilih icon button control pada toolbox drag drop ke editor dialog. (static text) pilih icon control pada toolbox drag drop ke editor dialog.

Tambahkan control (dua button, 1 static text, 1 picture) pada dialog editor

3. Mengaktifkan Control

Pilih control button1, double clik, pada dialog Add Member Function klik

Atau klik kanan, pilih klik ClassWizard, pada MFC Class Wizard Dialog messages aktifkan BN_CLICKED, double clik, pada dialog Add Member Function klik OK.

4. Rubah terlebih dahulu ID dari static text = ID_label dan ID dari picture = ID_pic1, dengan cara aktifkan control dan klik kanan pilih properti.

5. Pada dialog MFC classwizard,Member Variabels edit type dan member dari control

6. Menulis fungsi pada button1 clik • Tambahkan program untuk menampilkan pesan pada static text seperti dibawah ini

void CDialogDlg::OnButton1()
{
// TODO: Add your control notification handler code here
SetDlgItemText(IDC_label,"Belajar Prak Citra dgn VC++ dan MFC");
}
Jalankan program dengan memilih menu Build->Execute (!)
Tambahkan deklarasi kelas CBitmap pada File View – Header Files – dialogDlg.h
// Construction
public:
CDialogDlg(CWnd* pParent = NULL); // standard constructor
CBitmap m_bmpBitmap;
//
Menulis fungsi pada button2 clik
void CDialogDlg::OnButton2()
{
// TODO: Add your control notification handler code here
CDC* pDC = m_pic1.GetDC();//
CDC dcMem1;
CRect rect;//kotak di picture
BITMAP bm;//
HBITMAP
hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),
"pens.bmp",IMAGE_BITMAP, 0, 0,
LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{
if(m_bmpBitmap.DeleteObject())
m_bmpBitmap.Detach();
m_bmpBitmap.Attach(hBitmap);
}
m_pic1.GetClientRect(rect);//
m_bmpBitmap.GetBitmap(&bm);//
dcMem1.CreateCompatibleDC(pDC);
dcMem1.SelectObject(&m_bmpBitmap);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem1,
0,0,bm.bmWidth,bm.bmHeight,SRCCOPY);//
}
Jalankan program dengan memilih menu Build->Execute (!)