Arsip: Mengubah warna MainMenu Bar
more 17 years ago
myCorro
mas mas minta tolong nih, aku pengin mengubah warna bar nya MainMenu. gimana ya caranya??? :?:
more 17 years ago
chipmunk
uda coba pake ownerdraw?
utk menu, area penggambaran tidak di-clip jd akan lebih mudah pake ownerdraw..
Kesan background simplenya kan cm area yg tidak ada menu item(s) pada menu bar, karena menu item yg laen bisa dg mudah digambar. Intinya kita perlakukan secara khusus utk menu item paling kanan pada menu bar. Biar efisien kita tandai aja lewat Tag biar bisa pake single handler..
- Set property OwnerDraw mainmenu -> true
- Tandai top level menu item paling kanan misalnya pake property Tag
- Set semua event OnAdvancedDrawitem() top level menu item(s) ke sebuah event handler method.
- Implementasikan OnAdvancedDrawitem() handler..misalnya spt:
Misal ada 3 top level menu pada menu bar:
File, Edit, Help
Pada menu Help, set property Tag -> 3
arahkan/assign semua event handlernya ke method spt dibawah ini (cukup satu method aja):
procedure TForm1.File1AdvancedDrawItem(Sender: TObject; ACanvas: TCanvas;
ARect: TRect; State: TOwnerDrawState);
const
BACK_COLOR = clGreen;
var
R: TRect;
item: string;
begin
item := TMenuItem(Sender).Caption;
R := ARect;
R.Right := ClientRect.Right + GetSystemMetrics(SM_CYSIZEFRAME);
with ACanvas do
begin
// draw background dari item paling kanan sampe mentok!!
// Tag property -> utk tandai item paling kanan misal 3
if (TMenuItem(Sender).Tag = 3) then
begin
Brush.Color := BACK_COLOR;
FillRect(R);
end;
if (odSelected in State) or (odHotLight in State) then
Brush.Color := clHighlight
else
Brush.Color := BACK_COLOR;
// draw item background spt biasanya..
FillRect(ARect);
R := ARect;
// draw caption
DrawText(Handle, PChar(item), Length(item),R, DT_CENTER or DT_SINGLELINE or DT_VCENTER);
end;
end;
...silakan kembangkan sendiri.. :)
more 17 years ago
Kecret
more 17 years ago
myCorro
@chipmunk
thanks mas, it's working!!
cuma ada sedikit gangguan waktu MainMenu dipake di MDI form. Pas form child posisi maximize kan caption bar-nya jadi satu dgn MainMenu. nah ketika "mouse menunjuk" item menu paling kanan (tag penunjuk), border icon-nya form child menghilang.. ajaib!! heheheheh... :lol: tapi dia muncul lg klo diklik di border icon-ya.
Udah kucoba-coba cari jln keluarnya blm ketemu heeeeeeee...
btw thanks trik-nya OKE bgt!! :idea:
@kecret
Mau dong komponennya mas cret!
more ...
- Pages:
- 1
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 3 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 4 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 11 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 11 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 11 years ago
Random Topic
- d bantu y,acces,.. pencarian
by alisiana in Lain-lain more 12 years ago - list index out of bound
by rizu in Tip n Trik Pemrograman more 15 years ago - Program akuntansi delphi
by cylock in Tip n Trik Pemrograman more 14 years ago - caranya buka kompresi file MP3
by suncen in Tip n Trik Pemrograman more 16 years ago - What do you thing..
by yayaretina in OOT more 17 years ago - tcard data dari query
by brodien in Tip n Trik Pemrograman more 18 years ago - Quick report to excell
by nananana in Reporting more 15 years ago - error saat aktifin tabel & query
by buyungff in MySQL more 17 years ago - update tanggal otomatis menggunakan MSAccess
by divanda in MySQL more 16 years ago - nilai minimum, maximum array dan matrix
by yadi in Hal umum tentang Pascal Indonesia more 16 years ago