Author Topic: Deriving The Skin Icons of a MusicBee Form  (Read 889 times)

Mayibongwe

  • Sr. Member
  • ****
  • Posts: 1733
  • Heal The World
I'm in the process of creating a basic settings form that'll be accessible through the 'configure' button in the preferences.

If I wanted that form to mirror the current skin's border images and button icons (close, minimize, etc):
Would it technically be possible for me to backtrack to the Preferences parent form via the control that the configure function provides, in order to retrieve the icons myself?

I could give it a go ofc, but I figured asking here would save me some time in case the attributes of that parent form are internally protected anyway,
or if it's outright impossible to backtrack that far (I'm new to forms - so it'd take a bit of researching and experimenting).

If we indeed cannot get to those icons ourselves, how about introducing one of these alternatives:

1. New API calls to retrieve each of those icons.

2. Which I think is the best solution
Providing access to a standard MusicBee form which already follows the skin buttons and borders.

Edit: one like this (just without the contents of that inner rectangle).
Last Edit: June 06, 2024, 06:49:47 PM by Mayibongwe
Strength and Honour (2025)

boroda

  • Hero Member
  • *****
  • Posts: 5219
+1. Maybe an API function like: GetSkinnedControl(ContolType.Form), GetSkinnedControl(ContolType.Button), etc. Or extend the existing function MB_AddPanel(null, Plugin.PluginPanelDock.TextBox) to return (optionally) skinned controls, including Form and Button.
Last Edit: June 07, 2024, 04:39:16 PM by boroda