Arsip: Mengubah warna MainMenu Bar

 
user image
more 18 years ago

myCorro

mas mas minta tolong nih, aku pengin mengubah warna bar nya MainMenu. gimana ya caranya??? :?:
user image
more 18 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.. :)
user image
more 18 years ago

Kecret

emang ga gampang ngrubah warna menu seperti ini : mungkin paling enak pake TMS Menu.... atau devex expressbar.... atau Toolbar2000+TBX...
user image
more 18 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
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com