Advertisement 300 X 250

Pages

Tampilkan postingan dengan label Delphi. Tampilkan semua postingan
Tampilkan postingan dengan label Delphi. Tampilkan semua postingan

Membuat Rounded Form

Rabu, 12 Oktober 2011


Secara default form yang Anda buat akan berbentuk segi empat. Dengan menambahkan beberapa baris kode berikut Anda dapat membuat form berbentuk elips atau lingkaran.

 

Jika Anda membuka referensi Windows API tentang function CreateEllipticRgn maka akan didapat keterangan seperti di bawah ini:
HRGN CreateEllipticRgn(
int nLeftRect, // x-coordinate of the upper-left corner of the bounding rectangle
int nTopRect, // y-coordinate of the upper-left corner of the bounding rectangle
int nRightRect, // x-coordinate of the lower-right corner of the bounding rectangle
int nBottomRect // y-coordinate of the lower-right corner of the bounding rectangle
);

Mengganti Icon Folder

Bagi Anda yang menyukai keindahan, default icon folder pada Windows yang berwarna kuning tentunya sangat “menyebalkan”. Padahal dengan trik sederhana Anda dapat mengganti icon tersebut dengan icon lain yang Anda sukai. Caranya cukup mudah saja, Anda tinggal membuat file desktop.ini pada folder yang akan diganti iconnya. Pada file desktop.ini tersebut tambahkan baris berikut:
[.ShellClassInfo]
IconFile=file_icon.ico
IconIndex=0
InfoTip=keterangan
Selanjutnya ubah properties folder tersebut menjadi System. Dengan Delphi, Anda dapat menuliskannya sebagai berikut:



Contoh di atas akan mengganti icon pada folder C:\Data. Adapun icon yang akan digunakan adalah C:\Data\Icon\Apple Logo.ico. Terakhir, jangan lupa untuk menambahkan uses IniFiles; di bawah implementation.

Membuat Alias Baru

Salah satu hal yang sering terjadi saat memindah aplikasi yang Anda buat dari satu komputer ke komputer lain adalah masalah nama alias. Seperti yang telah Anda ketahui, nama alias digunakan untuk menunjukkan letak database yang digunakan. Jika Anda memindah aplikasi ke komputer lain tanpa membuat sebuah alias baru maka akan muncul pesan “…….unknown database……..”.
Untuk mencegah hal tersebut Anda dapat menambahkan sedikit kode untuk membuat alias secara langsung (on the fly). Jadi saat aplikasi dijalankan, akan dicek dulu apakah nama alias yang digunakan sudah ada atau belum. Jika belum secara otomatis program akan membuatnya. Untuk membuat alias Anda dapat menggunakan prosedur AddStandardAlias yang dideklarasikan sebagai berikut:

Membuat Group Pada Laporan


Dengan menggunakan komponen TQRGroup Anda dapat mengelompokkan data berdasarkan kondisi tertentu. Misalnya Anda ingin mengelompokkan nama Company dari tabel Customter.db berdasarkan nama Company yang mempunyai huruf awal yang sama. Untuk itu Anda bisa mencoba contoh di bawah ini:
  1. Buat sebuah proyek baru dan tambahkan sebuah report.
  2. Tambahkan komponen TTable pada report. Ubah property DatabaseName menjadi DBDEMOS, TableName menjadi Customer dan IndexName menjadi ByCompany. Aktifkan tabel dengan mengatur property Active menjadi True.
  3. Tambahkan komponen TQRGroup yang nantinya akan digunakan sebagai header dari group. Ubah property Expression menjadi COPY(Table1.Company, 1, 1). Expression tersebut digunakan untuk mengekstrak karakter pertama dari nama Company.
  4. Tambahkan komponen TQRExpr pada header band. Isi property Expression dengan COPY(Table1.Company, 1,1).
JUDUL SPOILER

Setelah itu Anda dapat melihat report dengan menjalankan program secara langsung atau dengan mengklik kanan pada report dan pilih Preview.

JUDUL SPOILER

Dari gambar di atas terlihat bahwa daftar nama Company dikelompokkan berdasarkan huruf depan yang sama.

Membuat Efek Flat

Kadang kala kita mungkin ingin membuat tampilan program kita sedikit berbeda dengan biasanya. Dengan tips berikut ini Anda bisa membuat komponen checkbox, radiobutton dan button menjadi flat.
procedure TForm1.Flatten(theControl: TWinControl);
var
   dwStyle: Longint;
begin
     dwStyle := GetWindowLong(theControl.handle, GWL_STYLE) or                 BS_FLAT;
     SetWindowLong(theControl.Handle, GWL_STYLE, dwStyle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
     Flatten(Button1);
     Flatten(CheckBox1);
     Flatten(RadioButton1);
end;
Di sini kita menggunakan salah satu fungsi (function) Windows API, yaitu GetWindowLong yang deklarasinya sbb:
function GetWindowLong (hwnd : HWND; int : integer) : integer;
Fungsi GetWindowLong digunakan untuk mencari informasi mengenai window tertentu. Window di sini bisa kita artikan sebagai komponen visual seperti checkbox, radio button dan sebagainya.
Parameter pertama dari fungsi GetWindowLong merupakan handle window dari komponen yang akan kita ubah menjadi flat. Parameter kedua merupakan informasi window yang akan kita ambil. Dalam hal ini parameter kedua tersebut kita isi dengan GWL_STYLE yang artinya kita ingin memperoleh informasi style dari window tersebut.
Fungsi kedua yang kita pakai adalah SetWindowLong. Fungsi tersebut adalah untuk mengubah atribut atau style dari suatu window.
Untuk mengetahui secara lebih detail tentang fungsi Windows API Anda dapat membaca di help yang disertakan pada saat kita menginstall Delphi, pada bagian Win32 Programmer’s Reference.
Adapun kode selengkapnya adalah sebagai berikut:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
CheckBox1: TCheckBox;
RadioButton1: TRadioButton;
ListBox1: TListBox;
procedure FormCreate(Sender: TObject);
private
procedure Flatten(theControl: TWinControl);
procedure Flatten2(theControl: TEdit);
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Flatten(theControl: TWinControl);
var
   dwStyle: Longint;
begin
     dwStyle := GetWindowLong(theControl.handle, GWL_STYLE) or                 BS_FLAT;
     SetWindowLong(theControl.Handle, GWL_STYLE, dwStyle);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
     Flatten(Button1);
     Flatten(CheckBox1);
     Flatten(RadioButton1);
end;
end.

Mendisable Menu dan Tombol Close

Sebuah form biasanya mempunyai tiga tombol yang terletak pada bagian title bar, yaitu tombol maximize, minimize, close.
Untuk Dengan tips di bawah ini Anda dapat mendisable tombol/menu close.
procedure TForm1.FormCreate(Sender: TObject);
var
   hMenuHandle : HMENU;
begin
   hMenuHandle := GetSystemMenu(Form1.Handle, FALSE);
   if (hMenuHandle <> 0) then DeleteMenu(hMenuHandle,
      SC_CLOSE, MF_BYCOMMAND);
end;
Langkah pertama adalah mencari handle dari window menu (atau System menu atau Control menu), caranya yaitu dengan menggunakan fungsi GetSystemMenu.
function GetSystemMenu (hWnd : HWND, bRevert : Boolean) : HMENU;
Parameter pertama dari fungsi GetSystemMenu adalah handle dari window atau form. Dalam contoh ini nama formnya adalah Form1.
Parameter kedua adalah bRevert. Jika nilai bRevert bernilai True maka nilai balik dari fungsi GetSystemMenu adalah NULL, sebaliknya jika bRevert bernilai False maka nilai baliknya adalah handle dari copy dari window menu.
Langkah selanjutnya adalah “menghapus” item pada window menu dengan menggunakan fungsi DeleteMenu.
function DeleteMenu (hMenu : HMENU, uPosition : integer, uFlags : integer): Boolean
Parameter pertama adalah handle dari window menu (yang merupakan hasil pencarian dengan fungsi GetSystemMenu).
Parameter kedua merupakan posisi atau pengenal menu. Jika Anda mengisi parameter ketiga dengan MF_BYCOMMAND maka parameter kedua dapat bernilai SC_CLOSE, SC_MOVE, dan SC_SIZE. Sebaliknya jika Anda mengisi parameter ketiga dengan MF_BYPOSITION maka Anda dapat mengisi parameter kedua dengan suatu nilai integer yang merepresentasikan menu Close.
Fungsi DeleteMenu akan mengembalikan nilai True jika penghapusan menu berhasil dan mengembalikan nilai False jika gagal.
Kedua perintah di bawah ini akan mendapatkan hasil yang sama:
DeleteMenu(hMenuHandle, 6, MF_BYPOSITION);
DeleteMenu(hMenuHandle, SC_CLOSE, MF_BYCOMMAND)

Menambahkan Fasilitas Skin Pada Aplikasi dengan SXSkinComponents

Mungkin Anda semua sudah sering melihat aplikasi yang menggunakan konsep skin, misalnya Win Amp, WindowBlind, dll. Dengan konsep skin, maka user dapat dengan mudah mengganti tampilan programnya.
Mungkin saja Anda terinspirasi untuk membuat program yang dilengkapi dengan fasilitas skin. Bagaimana caranya? Cara yang paling mudah adalah dengan menggunakan komponen. Salah satu yang cukup menarik dan bisa Anda coba adalah SXSkinComponents.
SXSkinComponents dapat digunakan untuk Delphi 6, Delphi 7, Delphi 2005, Delphi 2006, C++Builder 6 and C++Builder 2006 dan pada sistem operasi Windows 98/ME/NT/2000/XP/2003.

Selain fitur yang cukup menarik, salah satu hal yang memberi nilai tambah adalah komponen ini gratis!
Di bawah ini adalah contoh tampilan dari program yang dilengkapi dengan komponen SXSkinComponents. Klik pada gambar untuk melihat tampilan yang lebih besar.

JUDUL SPOILER

Homepage: http://www.saarixx.info/ 
Download:Klik Disini
Ukuran File: 3,3 Mb