12 Juni 2009

Mengungkap Kegunaan Method CreateParams (Bagian 1)

Delphi menyediakan banyak komponen visual yang bisa dipakai untuk pengembangan aplikasi berbasis GUI. Sering komponen-komponen standar yang disediakan Delphi tidak cukup untuk memenuhi kebutuhan kita. Misalnya komponen TEdit standar yang tidak bisa mengatur alignment teks selain rata kiri, atau membuat button tersendiri tiap kali kita membuka form baru. Keterbatasan tersebut bisa diatasi dengan adanya method CreateParams.
Semuanya berawal dari fungsi Windows API CreateWindowEx. Tiap komponen visual standar Delphi yang berbasis Window seperti TEdit, TButton, TComboBox dan sejenisnya diturunkan dari class TWinControl. Dari class TWinControl inilah fungsi CreateParams berasal. Fungsi CreateWindowEx merupakan fungsi yang diambil dari user32.dll. Fungsi CreateWindowEx ini tidak berarti bahwa selalu berhubungan dengan suatu Form, tetapi kenyataannya juga dipanggil oleh komponen-komponen yang diturunkan dari TWinControl saat komponen tersebut dibuat. Cara pemakaian fungsi ini, seperti diambil dari unit Windows.pas:
function CreateWindowEx(
  dwExStyle: DWORD;
  lpClassName: PChar;
  lpWindowName: PChar;
  dwStyle: DWORD;
  X, Y, nWidth, nHeight: Integer;
  hWndParent: HWND;
  hMenu: HMENU;
  hInstance: HINST;
  lpParam: Pointer): HWND;

Ada beberapa parameter yang menarik dari fungsi diatas:

  1. lpClassName. Merupakan class dari obyek yang dibuat, yang bisa berupa:
    • BUTTON
    • COMBOBOX
    • EDIT
    • LISTBOX
    • MDICLIENT
    • RICHEDIT
    • SCROLLBAR
    • STATIC
  2. dsStyle. Menentukan style dari obyek yang dibuat. Terdapat banyak sekali konstanta yang telah di definisikan di unit Windows.pas untuk kebutuhan ini, diantaranya:
    • WS_MAXIMIZE
    • WS_MINIMIZEBOX
    • WS_MAXIMIZEBOX
    • ES_LEFT
    • ES_RIGHT
    • BS_LEFT
    • BS_RIGHT
  3. dsExStyle. Menentukan extended style dari obyek yang dibuat, beberapa yang menarik diantaranya:
    • WS_EX_APPWINDOW
    • WS_EX_MDICHILD
    • WS_EX_TOOLWINDOW
    • WS_EX_TOPMOST
    • WS_EX_TRANSPARENT

Hubungan antara fungsi CreateWindowEx dan CreateParams adalah CreateParams dipanggil sebelum fungsi CreateWindowEx dijalakan. Didalam CreateParams dapat diatur parameter style dan extended style sesuai yang kita inginkan, seperti membuat teks pada TEdit rata kanan dan sebagainya.

Tidak ada komentar:

Posting Komentar