Kamis, 12 Maret 2009

Laporan Resmi Praktikum 1

Percobaan 1 PENGENALAN MFC PADA C++


1. Tujuan:
  • Mahasiswa dapat membuat program pengolahan citra menggunakan Visual C++ dengan MFC.
  • Mahasiswa dapat membuat dialog menggunakan Visual C++ dengan MFC.

2. Langkah Percobaan
2.1 Menjalankan Visual C++ dengan MFC
1. Membuka Visual C++ 6.0
Pilih menu : Start->Programs->Microsoft Visual Studio 6.0->Microsoft Visual C++ 6.0
2. Memberi nama program
- Pilih menu : File->New->Projects->MFC AppWizard(exe)
- Isi Project name misalnya dengan: dialog
- Tekan tombol OK
3. Memilih isi program
Step 1 : What tipe of application would you like to create
(aplikasi apa yang ingin dibuat) pilih dialog based untuk membuat aplikasi
memakai dialog. Tekan tombol Next.
Step 2 : - What features would you like to include?
(fitur apa saja yang akan dimasukkan) pilih About box dan 3D controls untuk
pilihan standar.
- What features would you like to include?
(mendukung aplikasi apa ?) pilih ActiveX controls untuk pilihan standar.
- Would you like to include WOSA support ? Window Sockets tidak dipilih untuk pilihan standard.
- Please enter a title for your dialog ? Title sudah berisi text sama dengan nama project untuk pilihan standard
- Tekan tombol Next.
Step 3 : - What style of project would you like ?
Pilihan standard dan yang aktif hanya MFC Standard.
- Would you like to generate source file comments ?
pilihan standard Yes, Please.
- How would you like to use the MFC Library ?
pilihan standard As a shared DLL
- Tekan tombol Next.
Step 4 : - AppWizard creates the following classes for you
(AppWizard akan membuat class seperti dibawah ini)
CtestApp
CtestDlg
4. Cara menjalankan program
• Pilih menu : Build->Execute (!). Dialog Hasil Execute
• Tekan tombol Yes, untuk menutup aplikasi.
2.2 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 control 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 control pada toolbox drag drop ke editor dialog.
(static text) pilih icon control pada toolbox drag drop ke editor dialog.
(picture box) 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 OK.
• 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 (!)
7. Tambahkan deklarasi kelas CBitmap pada File View – Header Files – dialogDlg.h

// Construction
public:
CDialogDlg(CWnd* pParent = NULL); // standard constructor
CBitmap m_bmpBitmap;
//

8. 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 (!)

Analisa :

Setelah menyelesaikan praktikum ini, dapat dianalisa bahwa untuk mengerjakan praktikum tersebut pertama-tama kita membuat suatu projek baru yaitu berupa Multiple document, bukan Dialog based seperti pada percobaan sebelumnya. Projek tersebut diberi nama Test. Kemudian kita membuat menu-menu yang dibutuhkan berikut submenunya. Menu yang saya buat hanya dua yaitu Menu dan Bantuan. Untuk Menu ada empat submenu yang saya buat yaitu ‘Satu’, ‘Dua’, ‘Tiga’, ’Empat’, dan ‘Lima’. Sedangkan untuk ‘Bantuan’ hanya ada satu submenu yaitu Tentang Test.

Pada latihan no. 1, kita diminta untuk membuat suatu program untuk menampilkan messagebox dengan tulisan ‘Selamat Belajar Pengolahan Citra’ apabila salah satu submenu dipilih. Untuk menampilkan messagebox tersebut, menu yang dipilih adalah ‘Menu’ sedangkan submenu yang dipilih adalah ‘Satu

Pada latihan no. 2, kita diminta untuk membuat program yang bisa menampilkan tulisan ‘Ini adalah teks’ apabila salah satu submenu dipilih. Untuk menampilkan tulisan tersebut, menu yang dipilih adalah ‘Menu’, sedangkan submenu yang dipilih adalah ‘Dua’

Pada latihan no. 3, kita diminta untuk membuat program yang bisa menampilkan sumbu x dan y apabila salah satu submenu dipilih. Untuk menampilkan tulisan tersebut, menu yang dipilih adalah ‘Menu’, sedangkan submenu yang dipilih adalah ‘Tiga’

Kesimpulan :

*MFC dapat digunakan untuk membuat program yang bisa menampilkan dan memroses suatu gambar.
*Untuk membuat program yang menghasilkan tampilan seperti pada percobaan awal, jenis projek yang dipilih yaitu ‘Dialog based’. Sedangkan untuk membuat program yang menghasilkan tampilan seperti pada latihan, jenis projek yang dipilih yaitu ‘Multiple document’.